summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/site/DocumentModal.js
blob: 6f161695f84d001444eced9462e65c47ce843bda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
var DocumentModal = ModalFormView.extend({
	el: ".mediaDrawer.editDocument",
	createAction: "/api/docs/new",
	updateAction: "/api/docs/edit",
	destroyAction: "/api/docs/destroy",

	load: function(name, isNew){
		this.reset()
		
		if (isNew || name === "new") {
			name = sanitize(name)
			if (name !== "new") {
				this.$("[name='new_name']").val( name.replace(/\s+/g,"-") )
				this.$("[name='displayName']").val( capitalize(name.replace(/-/g," ")) )
			}
			this.action = this.createAction
			return this.show()
		}

		this.action = this.updateAction
		
		$.get("/api/docs", { name: name }, $.proxy(function(data){
			if (data.isNew) {
				this.action = this.createAction
			}
			
			for (var i in data) {
				this.$("[name='" + i + "']").val(data[i])
			}
			this.$("[name='new_name']").val(name)

			this.show()
		}, this))
	},
	
	success: function(res){
		window.location.pathname = "/about/" + res.name
	},

	destroy: function(name, cb){
		$.ajax({
			type: "delete",
			url: this.destroyAction,
			data: { name: name, _csrf: $("[name=_csrf]").val() }
		}).complete(cb || function(){})
	},

})