Skip to content
This repository was archived by the owner on Apr 11, 2023. It is now read-only.

Commit 450b5e5

Browse files
committed
build Modules; remove unused files; external module loading in jaydata modules; fixes
1 parent f4ab9e5 commit 450b5e5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+331
-306
lines changed

package.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
"babelify": "^6.3.0",
7878
"browserify": "^11.2.0",
7979
"browserify-derequire": "^0.9.4",
80+
"browserify-shim": "^3.8.11",
8081
"google-closure-compiler": "^20151015.0.0",
8182
"gulp": "^3.8.11",
8283
"gulp-babel": "^5.2.1",
@@ -104,5 +105,18 @@
104105
"minimist": "^1.1.1",
105106
"vinyl-buffer": "^1.0.0",
106107
"vinyl-source-stream": "^1.1.0"
108+
},
109+
"browserify": {
110+
"transform": [ "browserify-shim" ]
111+
},
112+
"browserify-shim": {
113+
"jQuery": "global:jQuery",
114+
"odatajs": "global:odatajs",
115+
"angular": "global:angular",
116+
"Handlebars": "global:Handlebars",
117+
"kendo": "global:kendo",
118+
"ko": "global:ko",
119+
"q": "global:Q",
120+
"Ext": "global:Ext"
107121
}
108122
}

src/JayDataModules/angular.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
import jQuery from 'jQuery';
3+
import angular from 'angular';
4+
15
(function() {
2-
6+
37
Object.defineProperty($data.Entity.prototype, "_isNew", {
48
get: function () {
59
return !this.storeToken;
@@ -48,7 +52,7 @@ angular.module('jaydata', ['ng', ['$provide', function ($provide) {
4852
$data.Queryable.prototype.toLiveArrayEx = function (options, resultHolder) {
4953
if (Array.isArray(options)) {
5054
resultHolder = options;
51-
otions = undefined;
55+
options = undefined;
5256
}
5357
resultHolder = resultHolder || [];
5458
options = options || {};
@@ -70,7 +74,7 @@ angular.module('jaydata', ['ng', ['$provide', function ($provide) {
7074
}
7175

7276
function refresh() {
73-
var defer = $.Deferred(thunk);
77+
var defer = jQuery.Deferred(thunk);
7478
defer.promise(resultHolder);
7579
return resultHolder;
7680
}
@@ -97,7 +101,7 @@ angular.module('jaydata', ['ng', ['$provide', function ($provide) {
97101
result.successHandlers = [];
98102
result.errorHandlers = [];
99103

100-
104+
101105
if (cb && typeof cb === 'function') {
102106
chainOrFire(cb, "success");
103107
}
@@ -248,7 +252,7 @@ angular.module('jaydata', ['ng', ['$provide', function ($provide) {
248252
d.reject(err);
249253
if (!$rootScope.$$phase) $rootScope.$apply();
250254
});
251-
255+
252256
return d.promise;
253257
}
254258

@@ -270,3 +274,5 @@ angular.module('jaydata', ['ng', ['$provide', function ($provide) {
270274
}]]);
271275

272276
})();
277+
278+
export default $data

src/JayDataModules/deferred.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import $data, { $C, Guard, Container, Exception } from '../TypeSystem/index.js';
2+
var jQuery = $data.__global['jQuery'];
23

34
(function ($data) {
45
if (typeof jQuery !== 'undefined') {
56
$data.Class.define('$data.Deferred', $data.PromiseHandlerBase, null, {
67
constructor: function () {
7-
this.deferred = new $.Deferred();
8+
this.deferred = new jQuery.Deferred();
89
},
910
deferred: {},
1011
createCallback: function (callBack) {

src/JayDataModules/errorhandler.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
13
(function(){
2-
window.onerror = function(msg, url, line){
4+
$data.__global.onerror = function(msg, url, line){
35
alert('Error' + (line ? ' in line ' + line : '') + '\n' + (url || '') + '\n' + msg);
46
};
57

6-
/*window.onerror = function(msg, url, line){
8+
/*$data.__global.onerror = function(msg, url, line){
79
var html = '<div class="error"><span class="url">{url}</span><p class="msg">{msg}</p><span class="line">{line}</span></div>';
810
html = html.replace('{url}', url || '');
911
html = html.replace('{msg}', msg || '');
@@ -16,7 +18,9 @@
1618
container.className = 'jaydata-errorhandler';
1719
document.body.appendChild(container);
1820
}
19-
21+
2022
container.innerHTML += html;
2123
};*/
22-
})();
24+
})();
25+
26+
export default $data

src/JayDataModules/formBinder.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
import jQuery from 'jQuery'
3+
14
/* Base: http://bitovi.com/blog/2010/06/convert-form-elements-to-javascript-object-literals-with-jquery-formBinder-plugin.html */
25
(function ($) {
36
var radioCheck = /radio|checkbox/i,
@@ -105,4 +108,6 @@
105108
return data;
106109
}
107110
});
108-
})(jQuery);
111+
})(jQuery);
112+
113+
export default $data

src/JayDataModules/handlebars.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
(function ($data, Handlebars) {
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
import jQuery from 'jQuery';
3+
import Handlebars from 'Handlebars'
4+
5+
(function ($data, Handlebars, $) {
26
var oldProcessor = $data.Entity.inheritedTypeProcessor;
37
var templateCache = {};
48

5-
9+
610

711

812
function getTemplate(templateName) {
@@ -43,13 +47,13 @@
4347
return $('#' + templateName).html();
4448
}
4549

46-
50+
4751
var templateEngine = {
4852
templateResolvers: [htmlTemplateResolver, typeTemplateResolver, globalTemplateNameResolver],
4953
templateCompiler: handleBarTemplateCompiler,
5054
templateCache: { },
5155
getTemplate: function (type, templateName) {
52-
var template, incache;
56+
var template, incache, i;
5357
var cacheKey = type.fullName + "::" + templateName;
5458
incache = template = this.templateCache[cacheKey], i = 0;
5559
while (!template && i < this.templateResolvers.length) {
@@ -60,11 +64,11 @@
6064
}
6165
if (!template) {
6266
console.log("Can not find template: " + templateName);
63-
}
67+
}
6468
return template;
6569
}
6670
};
67-
71+
6872
$data.templateEngine = templateEngine;
6973

7074
$data.render = function (data, templateName) {
@@ -118,7 +122,7 @@
118122
$(selector).before(result);
119123
break;
120124
}
121-
125+
122126
return data;
123127
}
124128
}
@@ -159,7 +163,7 @@
159163
oldProcessor(type);
160164
}
161165

162-
166+
163167
function render(item, templateName) {
164168
var template = templateEngine.getTemplate(type, templateName);
165169
if (! (item instanceof $data.Entity)) {
@@ -201,7 +205,7 @@
201205

202206
type.renderTo = function (item, selector, templateName, renderMode) {
203207
if (typeof item !== 'object') {
204-
replaceMode = templateName;
208+
renderMode = templateName;
205209
templateName = selector;
206210
selector = item;
207211
return type.readAll().then($data.renderTo(selector, templateName, renderMode));
@@ -211,7 +215,7 @@
211215

212216
type.renderItemsTo = function (items, selector, templateName, renderMode) {
213217
if (!(Array.isArray(items))) {
214-
replaceMode = templateName;
218+
renderMode = templateName;
215219
templateName = selector;
216220
selector = items;
217221
return type.readAll().then($data.renderItemsTo(selector, templateName, renderMode));
@@ -306,7 +310,7 @@
306310
var name = sname[sname.length - 1];
307311
var key = this.getType().memberDefinitions.getKeyProperties()[0];
308312
var id = this[key.name];
309-
313+
310314
var result = "data-" + name.toLowerCase() + "-" + id;
311315
var cacheInfo = addToCache(this);
312316
result += " data-cache-client=" + cacheInfo.clientId;
@@ -351,4 +355,6 @@
351355
$(this).children().removeClass("active");
352356
result.addClass("active");
353357
});
354-
})($data, Handlebars);
358+
})($data, Handlebars, jQuery);
359+
360+
export default $data

src/JayDataModules/inMemory.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
13
(function ($data) {
24

35
$data.Array.prototype.toQueryable = function () {
@@ -29,4 +31,6 @@
2931
return context.Source;
3032
}
3133

32-
})($data);
34+
})($data);
35+
36+
export default $data

src/JayDataModules/jaydata.mscrm.js

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
3+
14
/* data js patch to support window messaging */
25
/* will be implemented as customHttpClient in next version */
3-
(function ($data, window, undefined) {
4-
var odata = window.OData;
6+
(function ($data, undefined) {
7+
var odata = $data.__global.OData;
58

69
odata.originalHttpClient = odata.defaultHttpClient;
710
$data.postMessageODataHandler = {
@@ -14,15 +17,15 @@
1417
if (targetIframe) {
1518
var listener = function (event) {
1619
$data.Trace.log('in listener');
17-
window.removeEventListener('message', listener);
20+
$data.__global.removeEventListener('message', listener);
1821
var statusCode = event.data.statusCode;
1922
if (statusCode >= 200 && statusCode <= 299) {
2023
success(event.data);
2124
} else {
2225
error(event.data);
2326
}
2427
};
25-
window.addEventListener('message', listener, false);
28+
$data.__global.addEventListener('message', listener, false);
2629
$data.Trace.log('before post', targetIframe);
2730
targetIframe.postMessage(request, targetOrigin);
2831
} else {
@@ -45,15 +48,15 @@
4548
request.requestProxy = true;
4649
var listener = function (event) {
4750
$data.Trace.log('in listener');
48-
window.removeEventListener('message', listener);
51+
$data.__global.removeEventListener('message', listener);
4952
var statusCode = event.data.statusCode;
5053
if (statusCode >= 200 && statusCode <= 299) {
5154
success(event.data);
5255
} else {
5356
error(event.data);
5457
}
5558
};
56-
window.addEventListener('message', listener, false);
59+
$data.__global.addEventListener('message', listener, false);
5760
$data.Trace.log('before post', targetIframe);
5861
targetIframe.postMessage(request, targetOrigin);
5962
} else {
@@ -63,7 +66,7 @@
6366
};
6467
odata.defaultHttpClient = $data.postMessageODataHandler.postMessageHttpClient;
6568

66-
})($data, window);
69+
})($data);
6770

6871
(function ($data) {
6972
$data.MsCrm = {
@@ -80,8 +83,8 @@
8083
if ($data.MsCrm.Auth.trace) $data.Trace.log("Message received", crmUrl);
8184
if (e.data.MessageHandlerLoaded) {
8285
if ($data.MsCrm.Auth.trace) $data.Trace.log("Message handler loaded", crmUrl);
83-
window.removeEventListener("message", onMessagehandlerLoaded);
84-
window.OData.defaultHttpClient.targetIframe = iframe.contentWindow;
86+
$data.__global.removeEventListener("message", onMessagehandlerLoaded);
87+
$data.__global.OData.defaultHttpClient.targetIframe = iframe.contentWindow;
8588
cb(iframe.contentWindow, crmUrl);
8689
}
8790
}
@@ -90,18 +93,18 @@
9093
iframe = document.createElement("iframe");
9194
if (e.data.Authenticated) {
9295
$data.Trace.log("Logged in to CRM: " + crmUrl);
93-
window.removeEventListener("message", onAuthenticated);
94-
window.addEventListener("message", onMessagehandlerLoaded);
96+
$data.__global.removeEventListener("message", onAuthenticated);
97+
$data.__global.addEventListener("message", onMessagehandlerLoaded);
9598
var url = local ? "postmessage.html" : crmUrl + $data.MsCrm.Auth.messageHandlerPath;
9699
iframe.src = url;
97100
iframe.style.display = "none";
98101
document.body.appendChild(iframe);
99102
}
100103
}
101-
window.addEventListener("message", onAuthenticated);
104+
$data.__global.addEventListener("message", onAuthenticated);
102105
var url = local ? "authorize.html" : crmUrl + $data.MsCrm.Auth.clientAuthorizationPath;
103106
url = url;
104-
var w = window.open(url, "_blank", "resizable=false,location=0,menubar=0,toolbar=0,width=400,height=600");
107+
var w = $data.__global.open(url, "_blank", "resizable=false,location=0,menubar=0,toolbar=0,width=400,height=600");
105108
}
106109

107110
}
@@ -114,7 +117,7 @@
114117
}
115118
var serviceUrl = crmAddress + '/XRMServices/2011/OrganizationData.svc';
116119

117-
if (window.location.href.indexOf(crmAddress) > -1) {
120+
if ($data.__global.location.href.indexOf(crmAddress) > -1) {
118121
initContext();
119122
} else {
120123
$data.MsCrm.Auth.login(crmAddress, function () {
@@ -144,4 +147,6 @@
144147
}
145148
}
146149

147-
})($data);
150+
})($data);
151+
152+
export default $data

src/JayDataModules/kendo.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
(function ($data) {
1+
import $data, { $C, Guard, Container, Exception, MemberDefinition } from 'jaydata/core';
2+
import jQuery from 'jQuery';
3+
import kendo from 'kendo'
4+
5+
(function ($data, $) {
26
var oldProcessor = $data.Entity.inheritedTypeProcessor;
37

48
$data.kendo = {};
@@ -709,4 +713,6 @@
709713
refresh: function () {
710714
}
711715
});
712-
})($data);
716+
})($data, jQuery);
717+
718+
export default $data

0 commit comments

Comments
 (0)