Jquery plugin architecture implemented by SageFrame modules
var PluginName;
(function ($) {
$.PluginName = function (p) {
p = $.extend({
modulePath: '', DataObj: '', portalID: 0, userModuleID: ''
}, p);
PluginName = {
config: {
isPostBack: false,
async: false,
cache: false,
type: 'POST',
contentType: "application/json; charset=utf-8",
data: '{}',
dataType: 'json',
crossDomain: true,
baseURL: p.modulePath + 'Services/PluginNameService.asmx/',
method: "",
url: "",
ajaxCallMode: "",
userModuleID: p.userModuleID
},
init: function () {
},
ajaxSuccess: function (data) {
},
ajaxFailure: function () {
},
ajaxCall: function (config) {
$.ajax({
type: PluginName.config.type,
contentType: PluginName.config.contentType,
async: PluginName.config.async,
cache: PluginName.config.cache,
url: PluginName.config.url,
data: PluginName.config.data,
dataType: PluginName.config.dataType,
success: PluginName.config.ajaxCallMode,
error: PluginName.ajaxFailure
});
},
GetRequest: function () {
PluginName.config.url = PluginName.config.baseURL + "GetSomeData";
PluginName.config.data = JSON.stringify({
portalID: parseInt(SageFramePortalID),
userModuleID: p.userModuleID,
userName: SageFrameUserName,
secureToken: SageFrameSecureToken
});
PluginName.config.ajaxCallMode = PluginName.CallBackRequest;
PluginName.config.async = false;
PluginName.ajaxCall(PluginName.config);
},
CallBackRequest : function (data) {
if (data.d !== null && data.d !== '') {
}
},
};
PluginName.init();
}
$.fn.PluginName = function (p) {
$.PluginName(p);
};
})(jQuery);
<script type="text/javascript">
$(function () {
$(this).PluginName({
modulePath: '<%=modulePath%>',
portalID: '<%=portalID%>',
userModuleID: '<%=userModuleID%>'
});
});
</script>
var SFPlugin;
(function ($) {
$.SFPlugin = function (p) {
p = $.extend({
modulePath: '', DataObj: '', portalID: 0, userModuleID: ''
}, p);
SFPlugin = {
config: {
isPostBack: false,
async: false,
cache: false,
type: 'POST',
contentType: "application/json; charset=utf-8",
data: '{}',
dataType: 'json',
crossDomain: true,
baseURL: p.modulePath + 'Services/SFPlugin.asmx/',
method: "",
url: "",
ajaxCallMode: "",
UserName: SageFrameUserName,
userModuleID: p.userModuleID,
portalID: p.portalID,
service: {
Create: "CreateNew",
Delete: "DeleteSFPlugin",
}
},
init: function () {
SFPlugin.InitEvents();
},
ajaxSuccess: function (data) { },
ajaxFailure: function () { },
ajaxCall: function (config) {
$.ajax({
type: SFPlugin.config.type,
contentType: SFPlugin.config.contentType,
async: SFPlugin.config.async,
cache: SFPlugin.config.cache,
url: SFPlugin.config.url,
data: SFPlugin.config.data,
dataType: SFPlugin.config.dataType,
success: SFPlugin.config.ajaxCallMode,
error: SFPlugin.ajaxFailure
});
},
defaultParams: function () {
return {
portalID: SFPlugin.config.portalID,
SageFrameUser: SFPlugin.config.UserName,
userModuleID: SFPlugin.config.userModuleID,
authToken: SageFrameSecureToken
};
},
generateURL: function (postURL) {
return SFPlugin.config.baseURL + postURL;
},
extendDefaultParams: function (param) {
var newParams = Object.assign(param, SFPlugin.defaultParams());
return newParams;
},
NotifySF: function (message, msgType) { SageFrame.messaging.show(message, msgType); },
InitEvents: function () { },
};
SFPlugin.init();
}
$.fn.SFPlugin = function (p) {
$.SFPlugin(p);
};
})(jQuery);