@@ -103,8 +103,7 @@ App.Actions.save_form = function(evt) {
103103 else { // OLD ITEM, UPDATING IT
104104 var source = $ ( elm ) . find ( '.source' ) . val ( ) ;
105105 var values = App . Helpers . getFormValues ( elm ) ;
106- if ( App . Validate . form ( values , $ ( '#' + elm_id ) ) ) {
107- App . Model . add ( values , source ) ;
106+ if ( App . Validate . form ( values , $ ( '#' + elm_id ) ) ) {
108107 App . Model . update ( values , source , elm ) ;
109108 }
110109 }
@@ -146,12 +145,49 @@ App.Actions.cancel_form = function(evt, params) {
146145
147146App . Actions . suspend = function ( evt )
148147{
149- alert ( 'Suspend?' ) ;
148+ var confirmed = confirm ( 'Suspend?' ) ;
149+ if ( ! confirmed ) {
150+ return ;
151+ }
152+ var elm = $ ( evt . target ) ;
153+ var row = elm . parents ( '.row' ) ;
154+
155+ var options = row . find ( '.source' ) . val ( ) ;
156+ App . Ajax . request ( App . Env . world + '.suspend' , { spell : options } , function ( reply ) {
157+ if ( reply . result ) {
158+ //var tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
159+ //$(elm).replaceWith(tpl.finalize());
160+ App . Pages . prepareHTML ( ) ;
161+ App . Helpers . updateScreen ( ) ;
162+ }
163+ else {
164+ return App . Helpers . alert ( 'Failed to suspend' ) ;
165+ }
166+ } ) ;
150167}
151168
152169App . Actions . unsuspend = function ( evt )
153170{
154- alert ( 'Unsuspend?' ) ;
171+ var confirmed = confirm ( 'Unsuspend?' ) ;
172+ if ( ! confirmed ) {
173+ return ;
174+ }
175+
176+ var elm = $ ( evt . target ) ;
177+ var row = elm . parents ( '.row' ) ;
178+
179+ var options = row . find ( '.source' ) . val ( ) ;
180+ App . Ajax . request ( App . Env . world + '.unsuspend' , { spell : options } , function ( reply ) {
181+ if ( reply . result ) {
182+ //var tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
183+ //$(elm).replaceWith(tpl.finalize());
184+ App . Pages . prepareHTML ( ) ;
185+ App . Helpers . updateScreen ( ) ;
186+ }
187+ else {
188+ return App . Helpers . alert ( 'Failed to suspend' ) ;
189+ }
190+ } ) ;
155191}
156192
157193// do_action_form_help
@@ -230,3 +266,56 @@ App.Actions.backup_db = function(evt)
230266{
231267 alert ( 'TODO' ) ;
232268}
269+
270+ App . Actions . add_form_ns = function ( evt )
271+ {
272+ var elm = $ ( evt . target ) ;
273+
274+ form = elm . parents ( '.form:first' ) ;
275+ var total_nses = $ ( form ) . find ( '.ns-entry' ) . length ;
276+ if ( total_nses == App . Settings . NS_MAX ) {
277+ return App . Helpers . alert ( 'Maximum number of NS cannot be more than ' + App . Settings . NS_MAX ) ;
278+ }
279+
280+ var tpl = App . Templates . get ( 'NS_INPUT' , 'user' ) ;
281+ tpl . set ( ':NAME' , '' ) ;
282+ tpl . set ( ':NS_LABEL' , 'NS' ) ;
283+ elm . before ( tpl . finalize ( ) ) ;
284+
285+ if ( ( total_nses + 1 ) == App . Settings . NS_MAX ) { // added last NS
286+ $ ( '.additional-ns-add' , form ) . addClass ( 'hidden' ) ;
287+ }
288+
289+ $ ( form ) . find ( '.ns-entry' ) . each ( function ( i , o )
290+ {
291+ $ ( o ) . find ( 'label' ) . text ( 'NS #' + ( i + 1 ) ) ;
292+ $ ( o ) . find ( 'input' ) . attr ( 'name' , 'NS' + ( i + 1 ) ) ;
293+ } ) ;
294+ }
295+
296+ App . Actions . delete_ns = function ( evt )
297+ {
298+ var elm = $ ( evt . target ) ;
299+
300+ form = elm . parents ( '.form:first' ) ;
301+ var total_nses = $ ( form ) . find ( '.ns-entry' ) . length ;
302+ if ( total_nses == App . Settings . NS_MIN ) {
303+ return App . Helpers . alert ( 'Minimum number of NS is ' + App . Settings . NS_MIN ) ;
304+ }
305+
306+ var form = elm . parents ( '.form:first' ) ;
307+ $ ( elm ) . parents ( '.form:first' ) . find ( '.additional-ns-add' ) . removeClass ( 'hidden' ) ;
308+ $ ( elm ) . parents ( '.ns-entry' ) . remove ( ) ;
309+
310+ $ ( form ) . find ( '.ns-entry' ) . each ( function ( i , o )
311+ {
312+ $ ( o ) . find ( 'label' ) . text ( 'NS #' + ( i + 1 ) ) ;
313+ $ ( o ) . find ( 'input' ) . attr ( 'name' , 'NS' + ( i + 1 ) ) ;
314+ } ) ;
315+ }
316+
317+ App . Actions . view_full_ns_list = function ( evt )
318+ {
319+ var elm = $ ( evt . target ) ;
320+ App . Helpers . openInnerPopup ( elm , $ ( elm ) . parents ( '.prop-box' ) . find ( '.ns-full-list:first' ) . html ( ) ) ;
321+ }
0 commit comments