cpee-model-management 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/ui/js/design.js DELETED
@@ -1,245 +0,0 @@
1
- var gstage;
2
- var gdir;
3
-
4
- function move_it(name,todir) {
5
- $.ajax({
6
- type: "PUT",
7
- url: "server/" + gdir + name,
8
- data: { dir: todir }
9
- });
10
- }
11
- function shift_it(name,to) {
12
- $.ajax({
13
- type: "PUT",
14
- url: "server/" + gdir + name,
15
- data: { stage: to }
16
- });
17
- }
18
- function rename_it(name) {
19
- var newname;
20
- if (newname = prompt('New name please!',name.replace(/\.xml$/,'').replace(/\.dir$/,''))) {
21
- $.ajax({
22
- type: "PUT",
23
- url: "server/" + gdir + name,
24
- data: { new: newname }
25
- });
26
- }
27
- }
28
- function duplicate_it(name) {
29
- var newname;
30
- if (newname = prompt('New name please!',name.replace(/\.xml$/,'').replace(/\.dir$/,''))) {
31
- $.ajax({
32
- type: "POST",
33
- url: "server/" + gdir,
34
- data: { new: newname, old: name }
35
- });
36
- }
37
- }
38
- function delete_it(name) {
39
- if (confirm('Are you really, really, REALLY sure!')) {
40
- $.ajax({
41
- type: "DELETE",
42
- url: "server/" + gdir + name
43
- });
44
- }
45
- }
46
-
47
- function design_init(gdir,gstage) {
48
- var es = new EventSource('server/');
49
- es.onopen = function() {
50
- console.log('design open');
51
- };
52
- es.onmessage = function(e) {
53
- paint(gdir,gstage);
54
- };
55
- es.onerror = function() {
56
- console.log('design error');
57
- // design_init();
58
- };
59
- }
60
-
61
- function paint(gdir,gstage) {
62
- $('#models tbody').empty();
63
- if (gdir && gdir != '') {
64
- var clone = document.importNode(document.querySelector('#up').content,true);
65
- $('[data-class=name] a',clone).text('..');
66
- $('[data-class=name] a',clone).attr('href',window.location.pathname + '?stage=' + gstage + '&dir=');
67
- $('#models tbody').append(clone);
68
- }
69
- $.ajax({
70
- type: "GET",
71
- url: "server/" + gdir,
72
- data: { stage: gstage },
73
- success: function(res) {
74
- $(res).each(function(k,data) {
75
- if (data.type == 'dir') {
76
- var clone = document.importNode(document.querySelector('#folder').content,true);
77
- $('[data-class=name] a',clone).text(data['name'].replace(/\.dir$/,''));
78
- $('[data-class=name]',clone).attr('data-full-name',data['name']);
79
- $('[data-class=name] a',clone).attr('href',window.location.pathname + '?stage=' + gstage + '&dir=' + data['name']);
80
- } else {
81
- var clone = document.importNode(document.querySelector('#model').content,true);
82
- $('[data-class=name] a',clone).text(data['name']);
83
- $('[data-class=name]',clone).attr('data-full-name',data['name']);
84
- $('[data-class=name] a',clone).attr('href','server/' + gdir + data['name'] + '/open?stage=' + gstage);
85
- $('[data-class=force] a',clone).attr('href','server/' + gdir + data['name'] + '/open-new?stage=' + gstage);
86
- $('[data-class=raw] a',clone).attr('href','server/' + gdir + data['name']);
87
-
88
- $('[data-class=guarded] abbr',clone).attr('title',data['guarded'] || '');
89
- $('[data-class=guarded] abbr',clone).text((data['guarded'] || '').match(/none/i) ? '' : (data['guarded'] || '').charAt(0).toUpperCase());
90
- $('[data-class=resource]',clone).text(data['guarded_id'] || '');
91
-
92
- if (data['guarded']) {
93
- $('[data-class=guarded] abbr',clone).attr('title',data['guarded']);
94
- $('[data-class=guarded] abbr',clone).text(data['guarded'].match(/none/i) ? '' : data['guarded'].charAt(0).toUpperCase());
95
- $('[data-class=resource]',clone).text(data['guarded_what']);
96
- }
97
- }
98
- $('[data-class=author]',clone).text(data['author']);
99
- $('[data-class=date]',clone).text(new Date(data['date']).strftime('%Y-%m-%d, %H:%M:%S'));
100
- $('#models tbody').append(clone);
101
- });
102
- }
103
- });
104
- }
105
-
106
- function change_it(gdir,gstage) {
107
- window.location.href = window.location.pathname + '?stage=' + gstage + '&dir=' + gdir;
108
- }
109
-
110
- $(document).ready(function() {
111
- const queryString = window.location.search;
112
- const urlParams = new URLSearchParams(queryString);
113
-
114
- gstage = urlParams.get('stage') || 'draft';
115
- gdir = urlParams.get('dir') ? (urlParams.get('dir') + '/').replace(/\/+/,'/') : '';
116
-
117
- design_init(gdir,gstage);
118
-
119
- var shifts = []
120
- $.ajax({
121
- type: "GET",
122
- url: "server/",
123
- data: { stages: 'stages' },
124
- success: (r) => {
125
- shifts = shifts.concat(r);
126
- shifts = shifts.filter(item => item !== gstage);
127
- }
128
- });
129
-
130
- $('input[name=stage]').val(gstage);
131
- $('input[name=dir]').val(gdir);
132
- $('ui-behind span').text(gstage);
133
- $('ui-behind span').click((e) => {
134
- if (shifts.length > 0) {
135
- var menu = {};
136
- menu['Change to'] = [];
137
- shifts.forEach(ele => {
138
- menu['Change to'].push(
139
- {
140
- 'label': ele,
141
- 'function_call': change_it,
142
- 'text_icon': '➔',
143
- 'type': undefined,
144
- 'class': 'capitalized',
145
- 'params': [gdir,ele]
146
- }
147
- );
148
- });
149
- new CustomMenu(e).contextmenu(menu);
150
- }
151
- });
152
-
153
- var dragged;
154
- $('#models').on('drag','td[data-class=model]',false);
155
- $('#models').on('dragstart','td[data-class=model]',(e) => {
156
- dragged = $(e.currentTarget).parents('tr').find('td[data-class=name]').text();
157
- });
158
- $('#models').on('dragover','td[data-class=folder]',false);
159
- $('#models').on('drop','td[data-class=folder]',(e) => {
160
- e.preventDefault();
161
- e.stopPropagation();
162
- if (dragged) {
163
- var todir = $(e.currentTarget).parents('tr').find('td[data-class=name]').text();
164
- todir = todir.replace(/\./g,'');
165
- if (todir != '') {
166
- todir += '.dir';
167
- }
168
- move_it(dragged,todir);
169
- dragged = undefined;
170
- }
171
- });
172
- $('#models').on('click','td[data-class=ops]',(e) => {
173
- var menu = {};
174
- var name = $(e.currentTarget).parents('tr').find('td[data-class=name]').attr('data-full-name');
175
- menu['Operations'] = [
176
- {
177
- 'label': 'Delete',
178
- 'function_call': delete_it,
179
- 'text_icon': '❌',
180
- 'type': undefined,
181
- 'params': [name]
182
- },
183
- {
184
- 'label': 'Rename',
185
- 'function_call': rename_it,
186
- 'type': undefined,
187
- 'text_icon': '📛',
188
- 'params': [name]
189
- }
190
- ];
191
- if (name.match(/\.xml$/)) {
192
- menu['Operations'].unshift(
193
- {
194
- 'label': 'Duplicate',
195
- 'function_call': duplicate_it,
196
- 'text_icon': '➕',
197
- 'type': undefined,
198
- 'params': [name]
199
- }
200
- );
201
- }
202
- if (shifts.length > 0) {
203
- menu['Shifting'] = [];
204
- shifts.forEach(ele => {
205
- menu['Shifting'].push(
206
- {
207
- 'label': 'Shift to ' + ele,
208
- 'function_call': shift_it,
209
- 'text_icon': '➔',
210
- 'type': undefined,
211
- 'params': [name,ele]
212
- }
213
- );
214
- });
215
- }
216
- new CustomMenu(e).contextmenu(menu);
217
- });
218
-
219
- history.pushState({}, document.title, window.location.pathname + '?stage=' + gstage + '&dir=' + gdir);
220
- paint(gdir,gstage);
221
-
222
- $('#newmod').on('submit',(e) => {
223
- $.ajax({
224
- type: "POST",
225
- url: "server/" + gdir,
226
- data: { stage: gstage, new: $("#newmod input[name=new]").val() },
227
- success: (r) => {
228
- uidash_activate_tab($('ui-tab').first());
229
- }
230
- });
231
- return false;
232
- });
233
-
234
- $('#newdir').on('submit',(e) => {
235
- $.ajax({
236
- type: "POST",
237
- url: "server/",
238
- data: { dir: $("#newdir input[name=newdir]").val() },
239
- success: (r) => {
240
- uidash_activate_tab($('ui-tab').first());
241
- }
242
- });
243
- return false;
244
- });
245
- });