UNPKG

jsharmony-cms

Version:
53 lines (40 loc) 2.1 kB
jsh.App[modelid] = new (function(){ var _this = this; this.missing_menus = []; //Populated onroute _this.revision_menu_key = undefined; _this.revision_menu_id = undefined; this.oninit = function(){ if(_this.missing_menus.length){ XExt.Confirm('The following Site Template menus are missing:\n\n'+(_.map(_this.missing_menus, function(val){ return (val.name||val.tag)+' (Tag: '+val.tag+')'; }).join('\n'))+'\n\nAdd these menus to the site?', function(){ XPage.Reload({ params: { add_missing_menus: 1 } }); }); } }; this.openMenuEditor = function(obj){ if (jsh.XPage.GetChanges().length) return XExt.Alert('Please save all changes before editing menu'); var rowid = $(obj).closest('tr').data('id'); var menu_key = xmodel.get('menu_key', rowid); if(!menu_key) return XExt.Alert('Please save menu before editing'); XExt.navTo(jsh._BASEURL+xmodel.module_namespace+'Menu_Tree?action=update&menu_key='+menu_key); }; this.previewMenu = function(menu){ XExt.popupForm(xmodel.namespace+'Menu_Tree_Browse','browse', { menu_key: menu.menu_key, menu_id: menu.menu_id }); }; this.viewRevisions = function(obj){ if (jsh.XPage.GetChanges().length) return XExt.Alert('Please save all changes before editing menu'); var rowid = $(obj).closest('tr').data('id'); var menu_key = xmodel.get('menu_key', rowid); _this.revision_menu_key = menu_key; _this.revision_menu_id = xmodel.get('menu_id', rowid); jsh.XExt.popupShow(xmodel.namespace + 'Menu_Revision_Listing','revision_menu','Revisions',undefined,jsh.$root('.xform'+xmodel.class+' .revision_menu_xlookup')[0],{ OnPopupClosed:function(rslt){ if(rslt && rslt.resultrow && rslt.resultrow.menu_id){ var menu_id = rslt.resultrow.menu_id; XForm.Post(xmodel.namespace+'Menu_Revision_Update',{},{ menu_key: menu_key, menu_id: menu_id }, function(){ jsh.XPage.Select({ modelid: xmodel.id, onCancel: function(){} }); }); } } }); }; })();