Просмотр исходного кода

Merge branch 'feature/CMS.createDocument_add_events' into 'develop'

Merge of feature/[流程管理]脚本API createDocument 方法添加参数 afterLoad to develop

See merge request o2oa/o2oa!644
蔡祥熠 5 лет назад
Родитель
Сommit
b0bba39b72

+ 20 - 15
o2web/source/o2_core/o2/xScript/CMSEnvironment.js

@@ -1118,9 +1118,10 @@ MWF.xScript.CMSEnvironment = function(ev){
         "openApplication":function(name, options){
             layout.desktop.openApplication(null, name, options);
         },
-        "createDocument" : function(columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle){
+        "createDocument": function (columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle) {
             var column = columnOrOptions;
-            if( typeOf( columnOrOptions ) == "object" ){
+            var onAfterPublish, onPostPublish;
+            if (typeOf(columnOrOptions) == "object") {
                 column = columnOrOptions.column;
                 category = columnOrOptions.category;
                 data = columnOrOptions.data;
@@ -1130,32 +1131,36 @@ MWF.xScript.CMSEnvironment = function(ev){
                 latest = columnOrOptions.latest;
                 selectColumnEnable = columnOrOptions.selectColumnEnable;
                 ignoreTitle = columnOrOptions.ignoreTitle;
+                onAfterPublish = columnOrOptions.onAfterPublish;
+                onPostPublish = columnOrOptions.onPostPublish;
             }
-            if (target){
-                if (layout.app && layout.app.inBrowser){
+            if (target) {
+                if (layout.app && layout.app.inBrowser) {
                     layout.app.content.empty();
                     layout.app = null;
                 }
             }
 
-            MWF.xDesktop.requireApp("cms.Index", "Newer", function(){
+            MWF.xDesktop.requireApp("cms.Index", "Newer", function () {
                 var starter = new MWF.xApplication.cms.Index.Newer(null, null, _form.app, null, {
                     "documentData": data,
                     "identity": identity,
 
-                    "ignoreTitle" : ignoreTitle === true,
-                    "ignoreDrafted" : latest === false,
-                    "selectColumnEnable" : !category || selectColumnEnable === true,
-                    "restrictToColumn" : !!category && selectColumnEnable !== true,
+                    "ignoreTitle": ignoreTitle === true,
+                    "ignoreDrafted": latest === false,
+                    "selectColumnEnable": !category || selectColumnEnable === true,
+                    "restrictToColumn": !!category && selectColumnEnable !== true,
 
-                    "categoryFlag" : category, //category id or name
-                    "columnFlag" : column, //column id or name,
-                    "onStarted" : function( documentId, data ){
-                        if(callback)callback();
+                    "categoryFlag": category, //category id or name
+                    "columnFlag": column, //column id or name,
+                    "onStarted": function (documentId, data) {
+                        if (callback) callback();
                     },
-                    "onPostLoad" : function(){
+                    "onPostPublish": function () {
+                        if(onPostPublish)onPostPublish();
                     },
-                    "onPostPublish" : function(){
+                    "onAfterPublish": function () {
+                        if(onAfterPublish)onAfterPublish();
                     }
                 });
                 starter.load();

+ 20 - 15
o2web/source/o2_core/o2/xScript/Environment.js

@@ -1218,9 +1218,10 @@ MWF.xScript.Environment = function(ev){
         "openApplication":function(name, options){
             layout.desktop.openApplication(null, name, options);
         },
-        "createDocument" : function(columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle){
+        "createDocument": function (columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle) {
             var column = columnOrOptions;
-            if( typeOf( columnOrOptions ) == "object" ){
+            var onAfterPublish, onPostPublish;
+            if (typeOf(columnOrOptions) == "object") {
                 column = columnOrOptions.column;
                 category = columnOrOptions.category;
                 data = columnOrOptions.data;
@@ -1230,32 +1231,36 @@ MWF.xScript.Environment = function(ev){
                 latest = columnOrOptions.latest;
                 selectColumnEnable = columnOrOptions.selectColumnEnable;
                 ignoreTitle = columnOrOptions.ignoreTitle;
+                onAfterPublish = columnOrOptions.onAfterPublish;
+                onPostPublish = columnOrOptions.onPostPublish;
             }
-            if (target){
-                if (layout.app && layout.app.inBrowser){
+            if (target) {
+                if (layout.app && layout.app.inBrowser) {
                     layout.app.content.empty();
                     layout.app = null;
                 }
             }
 
-            MWF.xDesktop.requireApp("cms.Index", "Newer", function(){
+            MWF.xDesktop.requireApp("cms.Index", "Newer", function () {
                 var starter = new MWF.xApplication.cms.Index.Newer(null, null, _form.app, null, {
                     "documentData": data,
                     "identity": identity,
 
-                    "ignoreTitle" : ignoreTitle === true,
-                    "ignoreDrafted" : latest === false,
-                    "selectColumnEnable" : !category || selectColumnEnable === true,
-                    "restrictToColumn" : !!category && selectColumnEnable !== true,
+                    "ignoreTitle": ignoreTitle === true,
+                    "ignoreDrafted": latest === false,
+                    "selectColumnEnable": !category || selectColumnEnable === true,
+                    "restrictToColumn": !!category && selectColumnEnable !== true,
 
-                    "categoryFlag" : category, //category id or name
-                    "columnFlag" : column, //column id or name,
-                    "onStarted" : function( documentId, data ){
-                        if(callback)callback();
+                    "categoryFlag": category, //category id or name
+                    "columnFlag": column, //column id or name,
+                    "onStarted": function (documentId, data) {
+                        if (callback) callback();
                     },
-                    "onPostLoad" : function(){
+                    "onPostPublish": function () {
+                        if(onPostPublish)onPostPublish();
                     },
-                    "onPostPublish" : function(){
+                    "onAfterPublish": function () {
+                        if(onAfterPublish)onAfterPublish();
                     }
                 });
                 starter.load();

+ 7 - 2
o2web/source/o2_core/o2/xScript/PageEnvironment.js

@@ -1062,6 +1062,7 @@ MWF.xScript.PageEnvironment = function (ev) {
         },
         "createDocument": function (columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle) {
             var column = columnOrOptions;
+            var onAfterPublish, onPostPublish;
             if (typeOf(columnOrOptions) == "object") {
                 column = columnOrOptions.column;
                 category = columnOrOptions.category;
@@ -1072,6 +1073,8 @@ MWF.xScript.PageEnvironment = function (ev) {
                 latest = columnOrOptions.latest;
                 selectColumnEnable = columnOrOptions.selectColumnEnable;
                 ignoreTitle = columnOrOptions.ignoreTitle;
+                onAfterPublish = columnOrOptions.onAfterPublish;
+                onPostPublish = columnOrOptions.onPostPublish;
             }
             if (target) {
                 if (layout.app && layout.app.inBrowser) {
@@ -1095,9 +1098,11 @@ MWF.xScript.PageEnvironment = function (ev) {
                     "onStarted": function (documentId, data) {
                         if (callback) callback();
                     },
-                    "onPostLoad": function () {
-                    },
                     "onPostPublish": function () {
+                        if(onPostPublish)onPostPublish();
+                    },
+                    "onAfterPublish": function () {
+                        if(onAfterPublish)onAfterPublish();
                     }
                 });
                 starter.load();

+ 8 - 2
o2web/source/o2_core/o2/xScript/ViewEnvironment.js

@@ -758,6 +758,7 @@ MWF.xScript.ViewEnvironment = function (ev) {
         "getSelectedData" : function () { return _form.getSelectedData(); },
         "setFilter" : function ( filter ) { return _form.setFilter(filter); },
         "switchView" : function ( options ) { return _form.switchView(options); },
+        "reload" : function () { _form.reload(); },
 
         // "getInfor": function () { return ev.pageInfor; },
         // "infor": ev.pageInfor,
@@ -976,6 +977,7 @@ MWF.xScript.ViewEnvironment = function (ev) {
         },
         "createDocument": function (columnOrOptions, category, data, identity, callback, target, latest, selectColumnEnable, ignoreTitle) {
             var column = columnOrOptions;
+            var onAfterPublish, onPostPublish;
             if (typeOf(columnOrOptions) == "object") {
                 column = columnOrOptions.column;
                 category = columnOrOptions.category;
@@ -986,6 +988,8 @@ MWF.xScript.ViewEnvironment = function (ev) {
                 latest = columnOrOptions.latest;
                 selectColumnEnable = columnOrOptions.selectColumnEnable;
                 ignoreTitle = columnOrOptions.ignoreTitle;
+                onAfterPublish = columnOrOptions.onAfterPublish;
+                onPostPublish = columnOrOptions.onPostPublish;
             }
             if (target) {
                 if (layout.app && layout.app.inBrowser) {
@@ -1009,9 +1013,11 @@ MWF.xScript.ViewEnvironment = function (ev) {
                     "onStarted": function (documentId, data) {
                         if (callback) callback();
                     },
-                    "onPostLoad": function () {
-                    },
                     "onPostPublish": function () {
+                        if(onPostPublish)onPostPublish();
+                    },
+                    "onAfterPublish": function () {
+                        if(onAfterPublish)onAfterPublish();
                     }
                 });
                 starter.load();

+ 4 - 4
o2web/source/x_component_cms_Index/Newer.js

@@ -491,13 +491,13 @@ MWF.xApplication.cms.Index.Newer = new Class({
                 "readonly" :false,
                 "documentId": id,
                 "appId": appId,
-                "onPostPublish" : function(){
-                    this.fireEvent( "postPublish" );
+                "onPostPublish" : function( args ){
+                    this.fireEvent( "postPublish", args );
                 }.bind(this),
-                "onAfterPublish" : function () {
+                "onAfterPublish" : function ( args ) {
                     debugger;
                     if(_self.view && _self.view.reload )_self.view.reload();
-                    _self.fireEvent( "afterPublish" );
+                    _self.fireEvent( "afterPublish", args );
                 }
             };
             if( typeOf(this.options.autoSave) == "boolean" )options.autoSave = this.options.autoSave;

+ 2 - 2
o2web/source/x_component_cms_Xform/Form.js

@@ -465,8 +465,8 @@ MWF.xApplication.cms.Xform.Form = MWF.CMSForm = new Class({
         }
         this.documentAction.publishDocumentComplex(documentData, function (json) {
             this.businessData.data.isNew = false;
-            this.fireEvent("afterPublish");
-            if (this.app) if (this.app.fireEvent) this.app.fireEvent("afterPublish");
+            this.fireEvent("afterPublish", [this, json.data]);
+            if (this.app) if (this.app.fireEvent) this.app.fireEvent("afterPublish",[this, json.data]);
             if (callback) callback();
             if (this.app.mobile) {
                 this.app.content.unmask();