@boldreports/angular-reporting-components 3.3.31 → 3.3.34

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.
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, IterableDiffers, KeyValueDiffers, NgModule, Output } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
 
4
+ let currentTemplateElement;
4
5
  let firstVal = {};
5
6
  /**
6
7
  * Internal Helpers
@@ -285,6 +286,166 @@ class BoldReportComponents {
285
286
  ngOnDestroy() {
286
287
  ( /** @type {?} */(this.widget))['destroy']();
287
288
  }
289
+ }
290
+ class ComplexTagElement {
291
+ /**
292
+ * @param {?} tags
293
+ */
294
+ constructor(tags) {
295
+ this.tags = tags;
296
+ this.valueChange = new EventEmitter();
297
+ this.complexes = [];
298
+ this.hasChanges = false;
299
+ this.firstChange = true;
300
+ Object.defineProperty(this, 'parent', {
301
+ enumerable: false,
302
+ writable: true,
303
+ value: null
304
+ });
305
+ currentTemplateElement = this;
306
+ }
307
+ /**
308
+ * @return {?}
309
+ */
310
+ ngOnInit() {
311
+ this.firstChange = false;
312
+ for (let /** @type {?} */ key in this) {
313
+ if (key.indexOf('_') != -1 && key.indexOf('tag_') == -1)
314
+ this.complexes.push(key);
315
+ }
316
+ for (let /** @type {?} */ i = 0; i < this.complexes.length; i++) {
317
+ let /** @type {?} */ property = this.complexes[i];
318
+ if (property.indexOf('_') != -1) {
319
+ let /** @type {?} */ tempObj = {};
320
+ let /** @type {?} */ key = property.replace(/\_/g, '.');
321
+ ej.createObject(key, ( /** @type {?} */(this))[property], tempObj);
322
+ let /** @type {?} */ rootProp = key.split('.')[0];
323
+ if (( /** @type {?} */(this))[rootProp] == undefined)
324
+ ( /** @type {?} */(this))[rootProp] = {};
325
+ $.extend(true, ( /** @type {?} */(this))[rootProp], tempObj[rootProp]);
326
+ }
327
+ }
328
+ }
329
+ /**
330
+ * @return {?}
331
+ */
332
+ ensureCleanObject() {
333
+ let /** @type {?} */ tags = this.tags;
334
+ for (let /** @type {?} */ i = 0; i < tags.length; i++) {
335
+ let /** @type {?} */ element = tags[i], /** @type {?} */ tagElement = ( /** @type {?} */(this))['tag_' + element.replace(/\./g, '_')];
336
+ if (i === 0 && ( /** @type {?} */(this))[element]) {
337
+ return;
338
+ }
339
+ if (ej.isNullOrUndefined(tagElement)) {
340
+ continue;
341
+ }
342
+ ej.createObject(element, tagElement.getList(), this);
343
+ }
344
+ }
345
+ /**
346
+ * @param {?} changes
347
+ * @return {?}
348
+ */
349
+ ngOnChanges(changes) {
350
+ if (this.firstChange) {
351
+ return;
352
+ }
353
+ this.recentChanges = changes;
354
+ this.hasChanges = true;
355
+ }
356
+ /**
357
+ * @return {?}
358
+ */
359
+ getChangesAndReset() {
360
+ if (this.hasChanges === false) {
361
+ return;
362
+ }
363
+ let /** @type {?} */ changes = this.recentChanges || {};
364
+ let /** @type {?} */ contentChanges = Utils.IterateAndGetChanges(this);
365
+ if (!$.isEmptyObject(contentChanges)) {
366
+ for (let /** @type {?} */ key in contentChanges) {
367
+ if (contentChanges.hasOwnProperty(key)) {
368
+ let /** @type {?} */ element = contentChanges[key];
369
+ // this.el.nativeElement.
370
+ if (!ej.isNullOrUndefined(this.parent.widget['_' + this.property.replace(/\./g, '_') + '_' + key]))
371
+ this.parent.widget['_' + this.property.replace(/\./g, '_') + '_' + key](element);
372
+ }
373
+ }
374
+ }
375
+ this.hasChanges = false;
376
+ return changes;
377
+ }
378
+ /**
379
+ * @return {?}
380
+ */
381
+ ngAfterContentChecked() {
382
+ let /** @type {?} */ tags = this.tags;
383
+ for (let /** @type {?} */ i = 0, /** @type {?} */ len = tags.length; i < len; i++) {
384
+ let /** @type {?} */ element = tags[i], /** @type {?} */ tagElement = ( /** @type {?} */(this))['tag_' + element.replace(/\./g, '_')];
385
+ if (tagElement && tagElement.hasChanges) {
386
+ this.hasChanges = true;
387
+ }
388
+ }
389
+ }
390
+ }
391
+ class ArrayTagElement {
392
+ /**
393
+ * @param {?} propertyName
394
+ */
395
+ constructor(propertyName) {
396
+ this.propertyName = propertyName;
397
+ this.hasChanges = false;
398
+ }
399
+ /**
400
+ * @return {?}
401
+ */
402
+ ngAfterContentInit() {
403
+ let /** @type {?} */ index = 0;
404
+ this.list = this.children.map((child) => {
405
+ child.index = index++;
406
+ child.property = this.propertyName;
407
+ return child;
408
+ });
409
+ }
410
+ /**
411
+ * @return {?}
412
+ */
413
+ getList() {
414
+ let /** @type {?} */ list = this.list;
415
+ for (let /** @type {?} */ i = 0; i < list.length; i++) {
416
+ list[i].ensureCleanObject();
417
+ }
418
+ return list;
419
+ }
420
+ /**
421
+ * @return {?}
422
+ */
423
+ getChangesAndReset() {
424
+ this.hasChanges = false;
425
+ return this.recentChanges;
426
+ }
427
+ /**
428
+ * @return {?}
429
+ */
430
+ ngAfterContentChecked() {
431
+ let /** @type {?} */ changes = {}, /** @type {?} */ res = ( /** @type {?} */(changes))[this.propertyName] = [], /** @type {?} */ childChange;
432
+ for (let /** @type {?} */ i = 0, /** @type {?} */ list = this.list; i < list.length; i++) {
433
+ let /** @type {?} */ child = list[i];
434
+ if (child.hasChanges) {
435
+ childChange = child.getChangesAndReset();
436
+ if (!ej.isNullOrUndefined(childChange)) {
437
+ res.push(/** @type {?} */ ({
438
+ index: child.index,
439
+ change: childChange
440
+ }));
441
+ }
442
+ }
443
+ }
444
+ if (res.length > 0) {
445
+ this.recentChanges = res;
446
+ this.hasChanges = true;
447
+ }
448
+ }
288
449
  }
289
450
 
290
451
  // tslint:disable-next-line:max-line-length
@@ -614,5 +775,6 @@ BoldReportsModule.ctorParameters = () => [];
614
775
  * Generated bundle index. Do not edit.
615
776
  */
616
777
 
617
- export { BoldReportViewerModule, BoldReportDesignerModule, BoldReportsModule, BoldReportComponents as ɵb, BoldReportDesignerComponent as ɵc, BoldReportViewerComponent as ɵa };
778
+ export { BoldReportViewerModule, BoldReportDesignerModule, BoldReportsModule, currentTemplateElement, Utils, BoldReportComponents, ComplexTagElement, ArrayTagElement, BoldReportDesignerComponent as ɵb, BoldReportViewerComponent as ɵa };
779
+ export { ContentChild, Type, forwardRef } from '@angular/core';
618
780
  //# sourceMappingURL=angular-reporting-components.js.map