@ms-atlas-module/datastudio-datafactory 0.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @ms-atlas-module/datastudio-datafactory might be problematic. Click here for more details.

Files changed (111) hide show
  1. package/_generated/ClientResources.js +1549 -0
  2. package/_generated/Framework.js +97 -0
  3. package/_generated/Svg.js +201 -0
  4. package/bootstrapper/BreadcrumbsKnockoutBinding.js +25 -0
  5. package/bootstrapper/CSS/Callout.css +43 -0
  6. package/bootstrapper/CSS/Common.css +22 -0
  7. package/bootstrapper/CSS/FormFields.css +133 -0
  8. package/bootstrapper/CSS/InlineBlock.css +34 -0
  9. package/bootstrapper/CSS/ParameterGroups.css +77 -0
  10. package/bootstrapper/CSS/Pivot.css +25 -0
  11. package/bootstrapper/CSS/Wizard.css +197 -0
  12. package/bootstrapper/CalloutBinding.js +52 -0
  13. package/bootstrapper/CollapsibleKnockoutBinding.js +70 -0
  14. package/bootstrapper/CopyBinding.js +150 -0
  15. package/bootstrapper/FilterFlyoutKnockoutBinding.js +114 -0
  16. package/bootstrapper/FormFields.js +397 -0
  17. package/bootstrapper/InlineBlockBinding.js +69 -0
  18. package/bootstrapper/JQueryUIBindings.js +152 -0
  19. package/bootstrapper/KnockoutBindings.js +635 -0
  20. package/bootstrapper/LoadingBinding.js +54 -0
  21. package/bootstrapper/MonacoEditorKnockoutBinding.js +67 -0
  22. package/bootstrapper/ParameterGroupsBinding.js +289 -0
  23. package/bootstrapper/PivotKnockoutBinding.js +61 -0
  24. package/bootstrapper/StatusCalendarFlyoutKnockoutBinding.js +398 -0
  25. package/bootstrapper/StatusCalendarKnockoutBinding.js +107 -0
  26. package/bootstrapper/TelemetryKnockoutBinding.js +68 -0
  27. package/bootstrapper/WinJSButtonKnockoutBinding.js +72 -0
  28. package/bootstrapper/WinJSKnockoutBindings.js +49 -0
  29. package/bootstrapper/WizardBinding.js +611 -0
  30. package/bootstrapper/startup.js +29 -0
  31. package/libs/VivaGraphControl/Content/CSS/Graph.css +157 -0
  32. package/libs/VivaGraphControl/Content/CSS/LightTheme.css +699 -0
  33. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Base/Base.TriggerableLifetimeManager.js +190 -0
  34. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Base/Base.js +647 -0
  35. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Base/Image.js +113 -0
  36. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Base/KnockoutExtensions.js +1064 -0
  37. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/DockedBalloon.js +18 -0
  38. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/Animation.js +192 -0
  39. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/Commands/MoveNodes.js +83 -0
  40. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/Geometry.js +167 -0
  41. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/GraphEntityViewModel.js +260 -0
  42. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/GraphViewModel.js +338 -0
  43. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/GraphWidget.Constants.js +178 -0
  44. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/GraphWidget.js +5190 -0
  45. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/MouseCapture.js +148 -0
  46. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Controls/Visualization/Graph/SvgUtils.js +164 -0
  47. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Util/Detection.js +658 -0
  48. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Util/Resize.js +241 -0
  49. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Util/Util.Private.js +236 -0
  50. package/libs/VivaGraphControl/Content/Scripts/Viva.Controls/Util/Util.js +905 -0
  51. package/libs/WinJS/WinJs.min.js +61909 -0
  52. package/libs/WinJS/ui-light.css +8500 -0
  53. package/package.json +15 -0
  54. package/scripts/AppContext.js +262 -0
  55. package/scripts/ExposureControl.js +11 -0
  56. package/scripts/Framework/Model/ActivityWindowCache.js +390 -0
  57. package/scripts/Framework/Model/ArmDataFactoryCache.js +77 -0
  58. package/scripts/Framework/Model/Contracts/Activity.js +83 -0
  59. package/scripts/Framework/Model/Contracts/ActivityWindow.js +185 -0
  60. package/scripts/Framework/Model/Contracts/BaseEncodable.js +106 -0
  61. package/scripts/Framework/Model/Contracts/Common.js +19 -0
  62. package/scripts/Framework/Model/Contracts/DataArtifact.js +100 -0
  63. package/scripts/Framework/Model/Contracts/Diagram.js +9 -0
  64. package/scripts/Framework/Model/Contracts/Encodable.js +113 -0
  65. package/scripts/Framework/Model/Contracts/Gateway.js +98 -0
  66. package/scripts/Framework/Model/Contracts/LinkedService.js +200 -0
  67. package/scripts/Framework/Model/Contracts/Pipeline.js +197 -0
  68. package/scripts/Framework/Model/DataCache.js +105 -0
  69. package/scripts/Framework/Model/DataFactoryCache.js +24 -0
  70. package/scripts/Framework/Model/Filter.js +186 -0
  71. package/scripts/Framework/Model/Helpers/ActivityWindowHelper.js +185 -0
  72. package/scripts/Framework/Model/MonitoringView.js +40 -0
  73. package/scripts/Framework/Shared/Constants.js +27 -0
  74. package/scripts/Framework/Shared/DataConstants.js +61 -0
  75. package/scripts/Framework/Shared/Disposable.js +53 -0
  76. package/scripts/Framework/Shared/IconResources.js +59 -0
  77. package/scripts/Framework/Shared/Resources/IbizaSvgs.js +241 -0
  78. package/scripts/Framework/Shared/TypeDeclarations.js +4 -0
  79. package/scripts/Framework/Telemetry/Telemetry.js +78 -0
  80. package/scripts/Framework/UI/Breadcrumbs.js +84 -0
  81. package/scripts/Framework/UI/Command.js +231 -0
  82. package/scripts/Framework/UI/ContextMenu.js +80 -0
  83. package/scripts/Framework/UI/Loader.js +11 -0
  84. package/scripts/Framework/UI/Menu.js +65 -0
  85. package/scripts/Framework/UI/PanelMessage.js +25 -0
  86. package/scripts/Framework/UI/Refresh.js +70 -0
  87. package/scripts/Framework/UI/Spinner.js +61 -0
  88. package/scripts/Framework/UI/StatusCalendar.js +1070 -0
  89. package/scripts/Framework/UI/Toolbar.js +84 -0
  90. package/scripts/Framework/Util/Datetime.js +258 -0
  91. package/scripts/Framework/Util/Log.js +10 -0
  92. package/scripts/Framework/Util/ResourceIdUtil.js +56 -0
  93. package/scripts/Framework/Util/Security.js +73 -0
  94. package/scripts/Framework/Util/Util.js +332 -0
  95. package/scripts/Framework/Views/HoverFlyout.js +92 -0
  96. package/scripts/Handlers/ErrorHandler.js +176 -0
  97. package/scripts/Handlers/MessageHandler.js +115 -0
  98. package/scripts/Handlers/MonitoringViewHandler.js +199 -0
  99. package/scripts/Handlers/RoutingHandler.js +364 -0
  100. package/scripts/Handlers/WinJSHandlers.js +265 -0
  101. package/scripts/MonitoringViewContext.js +75 -0
  102. package/scripts/Services/AzureInsightsService.js +162 -0
  103. package/scripts/Services/AzureResourceManagerService.js +869 -0
  104. package/scripts/Services/BaseService.js +232 -0
  105. package/scripts/Services/DataFactoryService.js +204 -0
  106. package/scripts/Services/HDInsightArmService.js +59 -0
  107. package/scripts/ViewContext.js +9 -0
  108. package/stylesheets/main.css +1042 -0
  109. package/views/Edit/DateTimeFilterViewModel.js +211 -0
  110. package/views/Edit/FilterViewModel.js +131 -0
  111. package/views/Shared/ProvisioningState.js +11 -0
@@ -0,0 +1,398 @@
1
+ define([
2
+ "require",
3
+ "exports",
4
+ "../scripts/AppContext",
5
+ "../scripts/MonitoringViewContext",
6
+ "../_generated/Framework",
7
+ "Hulljs",
8
+ "../scripts/Framework/Util/Log",
9
+ "../scripts/Framework/Model/Contracts/ActivityWindow",
10
+ "text!./Templates/GraphNodeStatusTemplate.html",
11
+ ], function (
12
+ require,
13
+ exports,
14
+ AppContext,
15
+ MonitoringViewContext_1,
16
+ Framework,
17
+ Hulljs,
18
+ Log,
19
+ ActivityWindowModel
20
+ ) {
21
+ "use strict";
22
+ var DataConstants = Framework.DataConstants;
23
+ var StatusCalendar = Framework.StatusCalendar;
24
+ var LifetimeManager = Framework.Disposable.DisposableLifetimeManager;
25
+ var Util = Framework.Util;
26
+ var logger = Log.getLogger({
27
+ loggerName: "StatusCalendarFlyoutKnockoutBinding",
28
+ });
29
+ (function (FlyoutBindingType) {
30
+ FlyoutBindingType[(FlyoutBindingType["Activity"] = 0)] = "Activity";
31
+ FlyoutBindingType[(FlyoutBindingType["Table"] = 1)] = "Table";
32
+ })(exports.FlyoutBindingType || (exports.FlyoutBindingType = {}));
33
+ var FlyoutBindingType = exports.FlyoutBindingType;
34
+ var flyoutClickeaterSelector = ".win-flyoutmenuclickeater";
35
+ var actionForShow = "mouseenter";
36
+ var calendarId = "graphNodeStatusHover";
37
+ var flyoutSelector = ".adfGraphNodeStatusFlyout";
38
+ var GraphNodeStatusBindingHandler = (function () {
39
+ function GraphNodeStatusBindingHandler() {}
40
+ GraphNodeStatusBindingHandler.prototype.init = function (
41
+ element,
42
+ valueAccessor,
43
+ allBindingsAccessor,
44
+ viewModel,
45
+ bindingContext
46
+ ) {
47
+ if (!viewModel) {
48
+ return;
49
+ }
50
+ var value = valueAccessor();
51
+ element.innerHTML = GraphNodeStatusBindingHandler.template;
52
+ var appContext = AppContext.AppContext.getInstance();
53
+ var viewContext = appContext.getViewContext(
54
+ MonitoringViewContext_1.MonitoringViewContext
55
+ );
56
+ var nodeStatus = ko.observable([]);
57
+ var shouldDisplay = ko.observable(true);
58
+ ko.applyBindingsToDescendants(
59
+ {
60
+ nodeStatus: nodeStatus,
61
+ shouldDisplay: shouldDisplay,
62
+ },
63
+ element
64
+ );
65
+ if (value.additionalQueryFilter === null) {
66
+ shouldDisplay(false);
67
+ return { controlsDescendantBindings: true };
68
+ }
69
+ var lifetimeManager = new LifetimeManager();
70
+ var availability = null;
71
+ value.availabilityPromise.then(function (valueAvailability) {
72
+ availability = valueAvailability;
73
+ });
74
+ if (value.recentActivityWindows) {
75
+ lifetimeManager.registerForDispose(
76
+ Util.subscribeAndCall(
77
+ value.recentActivityWindows,
78
+ function (recentActivityWindows) {
79
+ value.availabilityPromise.then(
80
+ function () {
81
+ nodeStatus(
82
+ getLastFewStatusBoxes(
83
+ availability.frequency(),
84
+ availability.interval(),
85
+ recentActivityWindows,
86
+ viewContext.dateRange().endDate
87
+ )
88
+ );
89
+ },
90
+ function (reason) {
91
+ if (reason) {
92
+ logger.logError(
93
+ "Failed to display graph node status for {0}, reason: {1}".format(
94
+ value.calendarHeader,
95
+ reason
96
+ ),
97
+ reason
98
+ );
99
+ }
100
+ }
101
+ );
102
+ }
103
+ )
104
+ );
105
+ }
106
+ var flyoutHostDiv = bindingContext.$root.func.element
107
+ .parent()[0]
108
+ .querySelector(flyoutSelector);
109
+ var flyout = flyoutHostDiv.winControl;
110
+ var clickEaterElement = $(flyoutClickeaterSelector)[0];
111
+ var statusCalendar =
112
+ StatusCalendar.StatusCalendar.statusCalendars[calendarId];
113
+ var boundedConvexPolygon = null;
114
+ var afterFlyoutShows, beforeFlyoutHides;
115
+ var clickEaterMouseMoveListener;
116
+ afterFlyoutShows = function () {
117
+ flyout.addEventListener("beforehide", beforeFlyoutHides);
118
+ var verticesToCover = getRectVertices(
119
+ flyoutHostDiv.getBoundingClientRect()
120
+ );
121
+ verticesToCover = verticesToCover.concat(
122
+ getRectVertices(element.getBoundingClientRect())
123
+ );
124
+ boundedConvexPolygon = Hulljs(verticesToCover, Infinity, [".x", ".y"]);
125
+ clickEaterElement.addEventListener(
126
+ "mousemove",
127
+ clickEaterMouseMoveListener
128
+ );
129
+ };
130
+ beforeFlyoutHides = function () {
131
+ clickEaterElement.removeEventListener(
132
+ "mousemove",
133
+ clickEaterMouseMoveListener
134
+ );
135
+ boundedConvexPolygon = null;
136
+ flyout.removeEventListener("aftershow", afterFlyoutShows);
137
+ flyout.removeEventListener("beforehide", beforeFlyoutHides);
138
+ };
139
+ clickEaterMouseMoveListener = function (mouseevent) {
140
+ var curPos = { x: mouseevent.clientX, y: mouseevent.clientY };
141
+ if (!isPointInsideConvexPolygon(curPos, boundedConvexPolygon)) {
142
+ flyout.hide();
143
+ }
144
+ };
145
+ var frequency = null;
146
+ var interval = null;
147
+ var hightlightedDates = ko.pureComputed(function () {
148
+ var hightlighted = [];
149
+ nodeStatus().forEach(function (nodeStatusRow) {
150
+ nodeStatusRow.forEach(function (nodeStatusField) {
151
+ hightlighted.push(nodeStatusField.date.getTime());
152
+ });
153
+ });
154
+ return hightlighted;
155
+ });
156
+ var calendarPageCallback = function (dateRange) {
157
+ var deferred = Q.defer();
158
+ getActivityWindows(
159
+ value.additionalQueryFilter,
160
+ dateRange.startDate,
161
+ dateRange.endDate
162
+ ).then(
163
+ function (activityWindows) {
164
+ if (
165
+ activityWindows.length > 0 &&
166
+ value.recentActivityWindows &&
167
+ value.recentActivityWindows().length === 0
168
+ ) {
169
+ value.recentActivityWindows.push(activityWindows[0]);
170
+ } else if (
171
+ activityWindows.length === 0 &&
172
+ value.recentActivityWindows &&
173
+ value.recentActivityWindows().length > 0
174
+ ) {
175
+ activityWindows.push(value.recentActivityWindows()[0]);
176
+ }
177
+ var data = activityWindows.map(function (activityWindow) {
178
+ var windowStartTime = new Date(activityWindow().windowStart);
179
+ var statusBox = {
180
+ date: windowStartTime,
181
+ status: ko.pureComputed(function () {
182
+ return activityWindow().statusCalendarStatus;
183
+ }),
184
+ tooltip: ko.pureComputed(function () {
185
+ return ClientResources.statusCalendarBoxTooltip.format(
186
+ activityWindow().displayState,
187
+ activityWindow().windowStartPair.UTC,
188
+ activityWindow().windowEndPair.UTC
189
+ );
190
+ }),
191
+ };
192
+ statusBox.clickCallback = function (statusBoxArg) {
193
+ statusCalendar.updateSelection(statusBoxArg.date);
194
+ AppContext.AppContext.getInstance().selectionHandler.pushState(
195
+ GraphNodeStatusBindingHandler.className,
196
+ [new ActivityWindowModel.Encodable(activityWindow)]
197
+ );
198
+ };
199
+ statusBox.doubleClickCallback = function (statusBoxArg) {
200
+ statusBox.clickCallback(statusBoxArg);
201
+ AppContext.AppContext.getInstance().openActivityWindowExplorer();
202
+ };
203
+ return statusBox;
204
+ });
205
+ deferred.resolve(data);
206
+ },
207
+ function (reason) {
208
+ logger.logError(
209
+ "Could not load data: {0}".format(reason.responseText)
210
+ );
211
+ deferred.reject(
212
+ "StatusCalendarFlyoutKnockoutBinding: Could not load data."
213
+ );
214
+ }
215
+ );
216
+ return deferred.promise;
217
+ };
218
+ var showFlyout = function () {
219
+ setTimeout(function () {
220
+ if (
221
+ value.availabilityPromise.isFulfilled() &&
222
+ !value.availabilityPromise.isRejected() &&
223
+ $(element).is(":hover")
224
+ ) {
225
+ frequency = availability.frequency();
226
+ interval = availability.interval();
227
+ var footer = [
228
+ ClientResources.frequencyAndIntervalText.format(
229
+ frequency,
230
+ interval
231
+ ),
232
+ ClientResources.datetimeInUTCLabel,
233
+ ];
234
+ var returnVal = StatusCalendar.findCorrectFrequencyAndInterval(
235
+ frequency,
236
+ interval
237
+ );
238
+ frequency = returnVal[0];
239
+ interval = returnVal[1];
240
+ var curDate = viewContext.dateRange().endDate;
241
+ statusCalendar
242
+ .update({
243
+ header: value.calendarHeader,
244
+ subHeader: ClientResources.activityWindowListTitle,
245
+ footer: footer,
246
+ frequency: frequency,
247
+ interval: interval,
248
+ pageCallback: calendarPageCallback,
249
+ baseDate: curDate,
250
+ dateRange: viewContext.dateRange(),
251
+ highlightedDates: hightlightedDates,
252
+ })
253
+ .then(
254
+ function (updateResult) {
255
+ flyout.addEventListener("aftershow", afterFlyoutShows);
256
+ flyout.show(element);
257
+ },
258
+ function (reason) {
259
+ if (
260
+ reason.result !==
261
+ StatusCalendar.StatusCalendarUpdateResultEnum.aborted
262
+ ) {
263
+ logger.logError(
264
+ "Failed to update hover calendar: " + reason.reason
265
+ );
266
+ }
267
+ }
268
+ );
269
+ }
270
+ }, 200);
271
+ };
272
+ element.addEventListener(actionForShow, showFlyout);
273
+ ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
274
+ element.removeEventListener(actionForShow, showFlyout);
275
+ flyout.removeEventListener("aftershow", afterFlyoutShows);
276
+ flyout.removeEventListener("beforehide", beforeFlyoutHides);
277
+ lifetimeManager.dispose();
278
+ });
279
+ return { controlsDescendantBindings: true };
280
+ };
281
+ GraphNodeStatusBindingHandler.className =
282
+ DataConstants.GraphNodeStatusBindingHandler;
283
+ GraphNodeStatusBindingHandler.template = require("text!./Templates/GraphNodeStatusTemplate.html");
284
+ return GraphNodeStatusBindingHandler;
285
+ })();
286
+ exports.GraphNodeStatusBindingHandler = GraphNodeStatusBindingHandler;
287
+ function sideSign(a, l1, l2) {
288
+ var mf = l1.y - l2.y;
289
+ var mc = l2.y * l1.x - l1.y * l2.x;
290
+ return mf * a.x + mc - a.y * (l1.x - l2.x);
291
+ }
292
+ function isPointInsideConvexPolygon(p, polygon) {
293
+ if (polygon.length < 3) {
294
+ logger.logError("Too few points specified for polygon");
295
+ }
296
+ var centroid = { x: 0, y: 0 };
297
+ for (var i = 0; i < polygon.length; i++) {
298
+ centroid.x += polygon[i].x / polygon.length;
299
+ centroid.y += polygon[i].y / polygon.length;
300
+ }
301
+ for (var i = 0; i < polygon.length; i++) {
302
+ var a = polygon[i];
303
+ var b = polygon[(i + 1) % polygon.length];
304
+ if (sideSign(p, a, b) * sideSign(centroid, a, b) < 0) {
305
+ return false;
306
+ }
307
+ }
308
+ return true;
309
+ }
310
+ function getRectVertices(clientRect) {
311
+ var x1 = clientRect.left;
312
+ var x2 = clientRect.left + clientRect.width;
313
+ var y1 = clientRect.top;
314
+ var y2 = clientRect.top + clientRect.height;
315
+ return [
316
+ { x: x1, y: y1 },
317
+ { x: x2, y: y1 },
318
+ { x: x2, y: y2 },
319
+ { x: x1, y: y2 },
320
+ ];
321
+ }
322
+ function getActivityWindows(filter, slotStart, slotEnd, top) {
323
+ var deferred = Q.defer();
324
+ if (!top) {
325
+ top = StatusCalendar.maxNumberOfSlotsInACalendar;
326
+ }
327
+ var colNames = ActivityWindowModel.ServiceColumnNames.ExtendedProperties;
328
+ var finalFilter = "{0} le {1} and {2} lt {3} and ({4})".format(
329
+ slotStart.toISOString(),
330
+ colNames.WindowStart,
331
+ colNames.WindowStart,
332
+ slotEnd.toISOString(),
333
+ filter
334
+ );
335
+ AppContext.AppContext.getInstance()
336
+ .viewContext.activityWindowCache.fetchTop(
337
+ finalFilter,
338
+ "{0} desc".format(colNames.WindowStart),
339
+ top
340
+ )
341
+ .then(
342
+ function (activityRunPrimaryEvents) {
343
+ activityRunPrimaryEvents.reverse();
344
+ deferred.resolve(activityRunPrimaryEvents);
345
+ },
346
+ function (reason) {
347
+ logger.logError(
348
+ "Failed to fetch activity window: {0}".format(reason.responseText)
349
+ );
350
+ deferred.reject(ClientResources.failedToFetchActivityWindowText);
351
+ }
352
+ );
353
+ return deferred.promise;
354
+ }
355
+ function getLastFewStatusBoxes(
356
+ frequency,
357
+ interval,
358
+ recentActivityWindows,
359
+ baseDate
360
+ ) {
361
+ var recentStatus = [];
362
+ recentActivityWindows.forEach(function (activityWindow) {
363
+ recentStatus.push({
364
+ date: new Date(activityWindow().windowStart),
365
+ status: ko.pureComputed(function () {
366
+ return activityWindow().statusCalendarStatus;
367
+ }),
368
+ });
369
+ });
370
+ var returnVal = StatusCalendar.findCorrectFrequencyAndInterval(
371
+ frequency,
372
+ interval
373
+ );
374
+ frequency = returnVal[0];
375
+ interval = returnVal[1];
376
+ var hasGenericCalendar = StatusCalendar.hasGenericCalendar(
377
+ frequency,
378
+ interval
379
+ );
380
+ var dateRange = StatusCalendar.getStartEndDateRange(
381
+ baseDate,
382
+ frequency,
383
+ interval,
384
+ hasGenericCalendar,
385
+ false
386
+ );
387
+ var data = StatusCalendar.sanitizeIncomingData(
388
+ recentStatus,
389
+ dateRange,
390
+ frequency,
391
+ interval,
392
+ hasGenericCalendar,
393
+ false
394
+ );
395
+ return data;
396
+ }
397
+ });
398
+ //# sourceMappingURL=StatusCalendarFlyoutKnockoutBinding.js.map
@@ -0,0 +1,107 @@
1
+ define(["require", "exports", "../_generated/Framework"], function (
2
+ require,
3
+ exports,
4
+ Framework_1
5
+ ) {
6
+ "use strict";
7
+ var StatusCalendarKnockoutBinding = (function () {
8
+ function StatusCalendarKnockoutBinding() {}
9
+ StatusCalendarKnockoutBinding.prototype.init = function (
10
+ element,
11
+ valueAccessor,
12
+ allBindingsAccessor,
13
+ viewModel,
14
+ bindingContext
15
+ ) {
16
+ var value = valueAccessor();
17
+ var statusCalendar = ko.utils.unwrapObservable(value.viewModel);
18
+ element.innerHTML = Framework_1.StatusCalendar.StatusCalendar.template;
19
+ ko.applyBindings(statusCalendar, element.firstChild);
20
+ Framework_1.StatusCalendar.StatusCalendar.statusCalendars[value.id] =
21
+ statusCalendar;
22
+ return { controlsDescendantBindings: true };
23
+ };
24
+ StatusCalendarKnockoutBinding.className = "statusCalendar";
25
+ return StatusCalendarKnockoutBinding;
26
+ })();
27
+ exports.StatusCalendarKnockoutBinding = StatusCalendarKnockoutBinding;
28
+ var StatusBoxKnockoutBinding = (function () {
29
+ function StatusBoxKnockoutBinding() {}
30
+ StatusBoxKnockoutBinding.prototype.init = function (
31
+ element,
32
+ valueAccessor,
33
+ allBindingsAccessor,
34
+ viewModel,
35
+ bindingContext
36
+ ) {
37
+ var statusBox = ko.utils.unwrapObservable(valueAccessor());
38
+ var jQueryElement = $(element);
39
+ var childNode = document.createElement("div");
40
+ element.appendChild(childNode);
41
+ ko.applyBindingsToNode(childNode, {
42
+ css: statusBox.status,
43
+ text: statusBox.boxLabel,
44
+ });
45
+ jQueryElement.children().addClass("center row");
46
+ ko.applyBindingsToNode(element, {
47
+ css: ko.pureComputed(function () {
48
+ return statusBox.highlight && statusBox.highlight()
49
+ ? "highlight"
50
+ : "";
51
+ }),
52
+ attr: {
53
+ title: statusBox.tooltip ? statusBox.tooltip : statusBox.boxLabel,
54
+ },
55
+ style: {
56
+ cursor:
57
+ statusBox.clickCallback || statusBox.doubleClickCallback
58
+ ? "pointer"
59
+ : "default",
60
+ },
61
+ });
62
+ jQueryElement.addClass(
63
+ "dataFactory-statusCalendar-statusBox dataFactory-statusCalendar-label grow no-shrink col"
64
+ );
65
+ var dblClickTimeout = 400;
66
+ var isDblClick = false;
67
+ var numberOfClicks = 0;
68
+ var singleClickHandler = null;
69
+ if (statusBox.clickCallback) {
70
+ singleClickHandler = function () {
71
+ numberOfClicks++;
72
+ setTimeout(function () {
73
+ if (!isDblClick) {
74
+ statusBox.clickCallback(statusBox);
75
+ }
76
+ numberOfClicks--;
77
+ if (numberOfClicks === 0) {
78
+ isDblClick = false;
79
+ }
80
+ }, dblClickTimeout);
81
+ };
82
+ jQueryElement.on("click", singleClickHandler);
83
+ }
84
+ var doubleClickHandler = null;
85
+ if (statusBox.doubleClickCallback) {
86
+ doubleClickHandler = function () {
87
+ isDblClick = true;
88
+ statusBox.doubleClickCallback(statusBox);
89
+ };
90
+ jQueryElement.on("dblclick", doubleClickHandler);
91
+ }
92
+ ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
93
+ if (singleClickHandler) {
94
+ jQueryElement.off("click", singleClickHandler);
95
+ }
96
+ if (doubleClickHandler) {
97
+ jQueryElement.off("dblclick", doubleClickHandler);
98
+ }
99
+ });
100
+ return { controlsDescendantBindings: true };
101
+ };
102
+ StatusBoxKnockoutBinding.className = "statusBox";
103
+ return StatusBoxKnockoutBinding;
104
+ })();
105
+ exports.StatusBoxKnockoutBinding = StatusBoxKnockoutBinding;
106
+ });
107
+ //# sourceMappingURL=StatusCalendarKnockoutBinding.js.map
@@ -0,0 +1,68 @@
1
+ define([
2
+ "require",
3
+ "exports",
4
+ "../scripts/Framework/Util/Log",
5
+ "../_generated/Framework",
6
+ "../scripts/AppContext",
7
+ ], function (require, exports, Log, Framework, AppContext) {
8
+ "use strict";
9
+ var Telemetry = Framework.Telemetry;
10
+ var logger = Log.getLogger({
11
+ loggerName: "TelemetryKnockoutBinding",
12
+ });
13
+ var EventConfigs;
14
+ (function (EventConfigs) {
15
+ EventConfigs.click = {
16
+ event: "click",
17
+ handleEvent: function (data, event, areaId) {
18
+ Telemetry.instance.logEvent(
19
+ new Telemetry.Event(
20
+ AppContext.AppContext.getInstance().factoryId(),
21
+ areaId,
22
+ Telemetry.Action.click,
23
+ Object.create(null)
24
+ )
25
+ );
26
+ },
27
+ };
28
+ })((EventConfigs = exports.EventConfigs || (exports.EventConfigs = {})));
29
+ var TelemetryKnockoutBindingHandler = (function () {
30
+ function TelemetryKnockoutBindingHandler() {}
31
+ TelemetryKnockoutBindingHandler.prototype.init = function (
32
+ element,
33
+ valueAccessor,
34
+ allBindingsAccessor,
35
+ viewModel,
36
+ bindingContext
37
+ ) {
38
+ var value = ko.utils.unwrapObservable(valueAccessor());
39
+ if (!value.areaId || !value.configs) {
40
+ logger.logError("Supplying invalid value accessor.");
41
+ return;
42
+ }
43
+ for (var index in value.configs) {
44
+ var config = EventConfigs[value.configs[index]];
45
+ var binding = {};
46
+ binding[config.event] = Framework.Util.curry(
47
+ function (config, data, event) {
48
+ var flag = TelemetryKnockoutBindingHandler.processedForADFTelemetry;
49
+ if (!event.originalEvent[flag]) {
50
+ config.handleEvent(data, event, value.areaId);
51
+ event.originalEvent[flag] = true;
52
+ }
53
+ },
54
+ null,
55
+ config
56
+ );
57
+ ko.applyBindingsToNode(element, { event: binding });
58
+ }
59
+ return { controlsDescendantBindings: false };
60
+ };
61
+ TelemetryKnockoutBindingHandler.className = "telemetry";
62
+ TelemetryKnockoutBindingHandler.processedForADFTelemetry =
63
+ "processedForADFTelemetry";
64
+ return TelemetryKnockoutBindingHandler;
65
+ })();
66
+ exports.TelemetryKnockoutBindingHandler = TelemetryKnockoutBindingHandler;
67
+ });
68
+ //# sourceMappingURL=TelemetryKnockoutBinding.js.map
@@ -0,0 +1,72 @@
1
+ var __extends =
2
+ (this && this.__extends) ||
3
+ function (d, b) {
4
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
5
+ function __() {
6
+ this.constructor = d;
7
+ }
8
+ d.prototype =
9
+ b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
10
+ };
11
+ define(["require", "exports", "../_generated/Framework"], function (
12
+ require,
13
+ exports,
14
+ Framework
15
+ ) {
16
+ "use strict";
17
+ var WinJSButtonBindingHandler = (function (_super) {
18
+ __extends(WinJSButtonBindingHandler, _super);
19
+ function WinJSButtonBindingHandler() {
20
+ var _this = this;
21
+ _super.apply(this, arguments);
22
+ this.init = function (
23
+ element,
24
+ valueAccessor,
25
+ allBindingsAccessor,
26
+ viewModel,
27
+ bindingContext
28
+ ) {
29
+ ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
30
+ _this._lifetimeManager.dispose();
31
+ });
32
+ return { controlsDescendantBindings: true };
33
+ };
34
+ this.update = function (
35
+ element,
36
+ valueAccessor,
37
+ allBindingsAccessor,
38
+ viewModel,
39
+ bindingContext
40
+ ) {
41
+ var buttonElement = $(element)
42
+ .html("<button class='koMainButton'></button>")
43
+ .children()[0];
44
+ var options = ko.unwrap(valueAccessor().options);
45
+ _this._lifetimeManager.dispose();
46
+ _this._lifetimeManager =
47
+ new Framework.Disposable.DisposableLifetimeManager();
48
+ var button = new Framework.Command.Button(
49
+ _this._lifetimeManager,
50
+ options
51
+ ).appBarCommand(buttonElement);
52
+ if (valueAccessor().menu) {
53
+ var menu = ko.unwrap(valueAccessor().menu);
54
+ if (menu) {
55
+ menu.addDropdownButton(button);
56
+ }
57
+ }
58
+ $(buttonElement).removeClass($(buttonElement).attr("data-buttonClass"));
59
+ if (valueAccessor().buttonClass) {
60
+ $(buttonElement).addClass(ko.unwrap(valueAccessor().buttonClass));
61
+ $(buttonElement).attr(
62
+ "data-buttonClass",
63
+ valueAccessor().buttonClass
64
+ );
65
+ }
66
+ };
67
+ }
68
+ return WinJSButtonBindingHandler;
69
+ })(Framework.Disposable.RootDisposable);
70
+ exports.WinJSButtonBindingHandler = WinJSButtonBindingHandler;
71
+ });
72
+ //# sourceMappingURL=WinJSButtonKnockoutBinding.js.map
@@ -0,0 +1,49 @@
1
+ define(["require", "exports", "../_generated/Framework"], function (
2
+ require,
3
+ exports,
4
+ Framework
5
+ ) {
6
+ "use strict";
7
+ var WinJSPivotKnockoutBinding = (function () {
8
+ function WinJSPivotKnockoutBinding() {}
9
+ WinJSPivotKnockoutBinding.prototype.init = function (
10
+ element,
11
+ valueAccessor,
12
+ allBindingsAccessor,
13
+ viewModel,
14
+ bindingContext
15
+ ) {
16
+ var value = valueAccessor();
17
+ var lifetimeManager =
18
+ new Framework.Disposable.DisposableLifetimeManager();
19
+ if (value.pivotItems) {
20
+ value.pivotItems.forEach(function (pivotItem) {
21
+ var pivotItemNode = document.createElement("div");
22
+ pivotItemNode.innerHTML = pivotItem.template;
23
+ element.appendChild(pivotItemNode);
24
+ var pivotItemControl = new WinJS.UI.PivotItem(
25
+ pivotItemNode,
26
+ pivotItem.options
27
+ );
28
+ lifetimeManager.registerForDispose(pivotItemControl);
29
+ if (pivotItem.viewModel) {
30
+ ko.applyBindings(pivotItem.viewModel, pivotItemNode);
31
+ if (pivotItem.viewModel["dispose"]) {
32
+ lifetimeManager.registerForDispose(pivotItem.viewModel);
33
+ }
34
+ }
35
+ });
36
+ }
37
+ var winControl = new WinJS.UI.Pivot(element, valueAccessor().options);
38
+ ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
39
+ winControl.dispose();
40
+ lifetimeManager.dispose();
41
+ });
42
+ return { controlsDescendantBindings: true };
43
+ };
44
+ WinJSPivotKnockoutBinding.className = "WinJSPivot";
45
+ return WinJSPivotKnockoutBinding;
46
+ })();
47
+ exports.WinJSPivotKnockoutBinding = WinJSPivotKnockoutBinding;
48
+ });
49
+ //# sourceMappingURL=WinJSKnockoutBindings.js.map