@bnsights/bbsf-controls 1.0.25 → 1.0.26

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.
Files changed (29) hide show
  1. package/bnsights-bbsf-controls-1.0.26.tgz +0 -0
  2. package/bnsights-bbsf-controls.metadata.json +1 -1
  3. package/bundles/bnsights-bbsf-controls.umd.js +1117 -193
  4. package/bundles/bnsights-bbsf-controls.umd.js.map +1 -1
  5. package/esm2015/lib/Shared/Directives/template-name.directive.js +18 -0
  6. package/esm2015/lib/Shared/Enums/Enums.js +45 -0
  7. package/esm2015/lib/Shared/Models/RepeaterField.js +3 -0
  8. package/esm2015/lib/Shared/Models/RepeaterOptions.js +10 -0
  9. package/esm2015/lib/Shared/services/render-component-service.service.js +19 -0
  10. package/esm2015/lib/controls/DropdownList/DropdownList.component.js +2 -2
  11. package/esm2015/lib/controls/ImageUpload/ImageUpload.component.js +2 -1
  12. package/esm2015/lib/controls/Repeater/repeater/repeater.component.js +112 -0
  13. package/esm2015/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.js +704 -0
  14. package/esm2015/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.js +20 -0
  15. package/esm2015/lib/controls/bbsf-controls.module.js +17 -9
  16. package/esm2015/public-api.js +9 -1
  17. package/fesm2015/bnsights-bbsf-controls.js +1082 -182
  18. package/fesm2015/bnsights-bbsf-controls.js.map +1 -1
  19. package/lib/Shared/Directives/template-name.directive.d.ts +6 -0
  20. package/lib/Shared/Enums/Enums.d.ts +40 -0
  21. package/lib/Shared/Models/RepeaterField.d.ts +5 -0
  22. package/lib/Shared/Models/RepeaterOptions.d.ts +13 -0
  23. package/lib/Shared/services/render-component-service.service.d.ts +7 -0
  24. package/lib/controls/Repeater/repeater/repeater.component.d.ts +25 -0
  25. package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +17 -0
  26. package/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.d.ts +8 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +8 -0
  29. package/bnsights-bbsf-controls-1.0.25.tgz +0 -0
@@ -4,7 +4,7 @@ import timeGridPlugin from '@fullcalendar/timegrid';
4
4
  import listPlugin from '@fullcalendar/list';
5
5
  import interactionPlugin from '@fullcalendar/interaction';
6
6
  import * as i0 from '@angular/core';
7
- import { Injectable, Optional, EventEmitter, Component, Input, Output, ViewChild, NgZone, NgModule, NO_ERRORS_SCHEMA, Injector } from '@angular/core';
7
+ import { Injectable, Optional, EventEmitter, Component, Input, Output, ViewChild, NgZone, Directive, TemplateRef, ViewChildren, ComponentFactoryResolver, ViewContainerRef, NgModule, NO_ERRORS_SCHEMA, Injector } from '@angular/core';
8
8
  import { BlockUIModule } from 'ng-block-ui';
9
9
  import { ControlContainer, Validators, FormControl, FormGroupDirective, FormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms';
10
10
  import { Http, HttpModule } from '@angular/http';
@@ -1894,7 +1894,7 @@ DropdownListComponent.decorators = [
1894
1894
  { type: Component, args: [{
1895
1895
  // tslint:disable-next-line: component-selector
1896
1896
  selector: 'BBSF-DropdownList',
1897
- template: "<div class=\"b-control b-dropdown-list\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"'No data found.'\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [searchable]=\"true\" [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"SelectedList\" (change)=\"onItemSelect($event[options.ItemTempletkey])\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect($event.target.value)\"\r\n [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--select--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>",
1897
+ template: "<div class=\"b-control b-dropdown-list\">\r\n <div class=\"form-group row validate is-invalid\" [formGroup]=\"group\">\r\n <label class=\"b-label col-form-label col-sm-12 \" [ngClass]=\"(options.ViewType==1)?'col-md-12':'col-md-3'\"\r\n [hidden]=\"options.HideLabel\">\r\n {{options.LabelValue}}\r\n <span *ngIf=\"(options.ShowAsterisk&&options.IsRequired)||(options.IsRequired)\" class=\"text-danger Required-text\"\r\n aria-required=\"true\">*</span>\r\n </label>\r\n\r\n <div class=\"col-sm-12\" [ngClass]=\"(options.ViewType==1)?'':'col-md-9'\">\r\n <ng-select *ngIf=\"options.DisableBootstrapSelect==false\" dir=\"{{options.ForceDirection==2?'rtl':''}}\"\r\n [bindValue]=\"options.ItemTempletkey\" [bindLabel]=\"options.ItemTempletvalue\" [items]=\"options.DataSource\"\r\n [notFoundText]=\"'No data found.'\" [maxSelectedItems]=\"options.LimitSelection\"\r\n [searchable]=\"options.AllowSearchFilter\" [multiple]=\"!options.SingleSelection\" [readonly]=\"options.IsDisabled\"\r\n [clearable]=\"true\" placeholder=\"{{options.Placeholder}}\" id=\"{{options.Name}}\"\r\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\" formControlName=\"{{options.Name}}\"\r\n [(ngModel)]=\"options.SelectedItems\" (change)=\"onItemSelect($event[options.ItemTempletkey])\" (clear)=\"Clear()\"\r\n [class.is-invalid]=\"DropdownListFormControl.invalid && DropdownListFormControl.touched\"\r\n [closeOnSelect]=\"options.SingleSelection ? true : false\">\r\n\r\n <ng-template *ngIf=\"options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <div class=\"ks-cboxtags\">\r\n <input id=\"item-{{index}}\" type=\"checkbox\" [ngModelOptions]=\"{standalone: true}\" [ngModel]=\"item$.selected\"\r\n class=\" \" /> <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"!options.ShowCheckbox\" ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <label class=\"ng-option-label mb-0\" id={{item.key}}>{{item.value}}</label>\r\n </ng-template>\r\n\r\n </ng-select>\r\n\r\n <select *ngIf=\"options.DisableBootstrapSelect\" class=\"form-control bnsights-control\"\r\n dir=\"{{options.ForceDirection==2?'rtl':''}}\" (change)=\"onItemSelect($event.target.value)\"\r\n [disabled]=\"options.IsDisabled\" formControlName=\"{{options.Name}}\">\r\n <option value=\"\" disabled>--select--</option>\r\n <option *ngFor=\"let item of options.DataSource\" value=\"{{item.key}}\" [ngValue]=\"item.key\">\r\n {{item.value}}\r\n </option>\r\n </select>\r\n\r\n <div class=\"text-danger Required-text\"\r\n *ngIf=\"(DropdownListFormControl.invalid && DropdownListFormControl.touched)\">\r\n {{getErrorValidation(DropdownListFormControl.errors|keyvalue)}}\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"control-desc\">{{options.LabelDescription}}</div>\r\n </div>\r\n\r\n <!-- <div *ngIf=\"DropdownListFormControl.valid\">{{resetError()}}</div> -->\r\n <div *ngIf=\"(group.valid&&group.dirty&&group.touched )||(group.untouched&&group.invalid&&group.dirty) \">\r\n {{resetError()}}</div>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
1898
1898
  styles: [".cuppa-dropdown{background-color:#fff}.arrow-up,.arrow-down{border-left:none!important;border-right:none!important}.dropdown-list{padding-top:0!important}.c-token{background-color:#6495ed}.pure-checkbox .selected-item{background-color:#6495ed;color:#fff}\n"]
1899
1899
  },] }
1900
1900
  ];
@@ -2949,6 +2949,7 @@ class ImageUploaderComponent {
2949
2949
  FileType: this.EventFile.type,
2950
2950
  FileBase64: reader.result.toString().split(',')[1],
2951
2951
  FileSizeInMB: ((BlobFile.size / 1000) / 1000),
2952
+ NameWithExtension: this.EventFile.name
2952
2953
  };
2953
2954
  BlobFile.name = this.EventFile.name;
2954
2955
  FilesArray.push(FileObject);
@@ -5148,6 +5149,1060 @@ ConfirmationModalComponent.propDecorators = {
5148
5149
  confirmationModal: [{ type: ViewChild, args: ['confirmationModal', { static: false },] }]
5149
5150
  };
5150
5151
 
5152
+ class NgTemplateNameDirective {
5153
+ constructor(template) {
5154
+ this.template = template;
5155
+ }
5156
+ }
5157
+ NgTemplateNameDirective.decorators = [
5158
+ { type: Directive, args: [{
5159
+ selector: 'ng-template[name]'
5160
+ },] }
5161
+ ];
5162
+ NgTemplateNameDirective.ctorParameters = () => [
5163
+ { type: TemplateRef }
5164
+ ];
5165
+ NgTemplateNameDirective.propDecorators = {
5166
+ name: [{ type: Input }]
5167
+ };
5168
+
5169
+ class RepeaterComponent {
5170
+ constructor() {
5171
+ this.templateRefs = [];
5172
+ this.items = [];
5173
+ this.repeaterContext = { index: 0, delete: null, elements: null };
5174
+ }
5175
+ ngOnInit() {
5176
+ this.currentTemplate = this.initialTemplate;
5177
+ this.repeaterGroup = new FormGroup({});
5178
+ this.group.addControl(this.options.Name, this.repeaterGroup);
5179
+ this.group.get(this.options.Name).setValue(this.options.RepeaterValue);
5180
+ for (let index = 0; index < this.options.MinRequiredItems; index++) {
5181
+ this.items.push(index);
5182
+ }
5183
+ this.repeaterGroup.valueChanges.subscribe((res) => {
5184
+ let result = [];
5185
+ let rowNumber = [];
5186
+ let addItems = [];
5187
+ for (const key in this.repeaterGroup.controls) {
5188
+ if (Object.prototype.hasOwnProperty.call(this.repeaterGroup.controls, key)) {
5189
+ const keySplitArr = key.split('.');
5190
+ let item = {
5191
+ [keySplitArr[1]]: { [keySplitArr[0]]: this.group.controls[this.options.Name].value[key] }
5192
+ };
5193
+ addItems.push(item);
5194
+ if (!rowNumber.includes(keySplitArr[1]))
5195
+ rowNumber.push(keySplitArr[1]);
5196
+ }
5197
+ }
5198
+ for (let index = 0; index < rowNumber.length; index++) {
5199
+ const row = rowNumber[index];
5200
+ let addObject = {};
5201
+ let filteredElements = addItems.filter(item => item[row]);
5202
+ for (let index = 0; index < filteredElements.length; index++) {
5203
+ const filteredElement = filteredElements[index];
5204
+ for (const key in filteredElement) {
5205
+ if (Object.prototype.hasOwnProperty.call(filteredElement, key)) {
5206
+ const element = filteredElement[key];
5207
+ for (const key in element) {
5208
+ if (Object.prototype.hasOwnProperty.call(element, key)) {
5209
+ const value = element[key];
5210
+ addObject[key] = value;
5211
+ }
5212
+ }
5213
+ }
5214
+ }
5215
+ }
5216
+ result.push(addObject);
5217
+ }
5218
+ this.options.RepeaterValue = result;
5219
+ });
5220
+ }
5221
+ deleteItem(Index) {
5222
+ if (this.items.length == this.options.MinRequiredItems && this.options.IsRequired)
5223
+ return;
5224
+ let deletedControls = [];
5225
+ let controlNames = this.options.RepeaterStructure.map(e => e.ControlOptions.Name);
5226
+ for (const key in this.repeaterGroup.controls) {
5227
+ if (Object.prototype.hasOwnProperty.call(this.repeaterGroup.controls, key)) {
5228
+ for (let index = 0; index < controlNames.length; index++) {
5229
+ const element = controlNames[index];
5230
+ const keySplitArr = key.split('.');
5231
+ if (keySplitArr[0] + keySplitArr[1] == `${element}${Index}`) {
5232
+ const element = this.repeaterGroup.controls[key];
5233
+ deletedControls.push({ [key]: element });
5234
+ }
5235
+ }
5236
+ }
5237
+ }
5238
+ for (let index = 0; index < deletedControls.length; index++) {
5239
+ const element = deletedControls[index];
5240
+ for (const key in element) {
5241
+ if (Object.prototype.hasOwnProperty.call(element, key)) {
5242
+ this.repeaterGroup.removeControl(key);
5243
+ }
5244
+ }
5245
+ }
5246
+ let item = this.items[Index];
5247
+ this.items = this.items.filter((res) => res != item);
5248
+ }
5249
+ AddItem() {
5250
+ this.items.push(this.items.length + 1);
5251
+ }
5252
+ ngAfterViewInit() {
5253
+ let templateRefs = this._templates["_results"].map((item) => item["template"]);
5254
+ this.templateRefs = templateRefs;
5255
+ this.repeaterContext.elements = this.templateRefs;
5256
+ this.repeaterContext.delete = this.delete;
5257
+ }
5258
+ setCurrentIndex(i) {
5259
+ this.repeaterContext.index = i;
5260
+ }
5261
+ }
5262
+ RepeaterComponent.decorators = [
5263
+ { type: Component, args: [{
5264
+ selector: 'BBSF-repeater',
5265
+ template: "<div *ngFor='let item of items ; index as i'>\r\n {{setCurrentIndex(i)}}\r\n <ng-container *ngTemplateOutlet=\"currentTemplate; context: repeaterContext\">\r\n </ng-container>\r\n\r\n</div>\r\n\r\n<div>\r\n <ng-container *ngTemplateOutlet=\"add\">\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template *ngFor=\"let RepeaterField of options.RepeaterStructure ; index as i\" name=\"R{{i}}\" \r\n let-Index=\"itemIndex\" let-control=\"controlIndex\">\r\n <repeater-field-builder *ngIf=\"RepeaterField\" [RepeaterField]=\"RepeaterField\" [itemNumber]=\"Index\" [controlNumber]=\"control\"\r\n [group]=\"repeaterGroup\"></repeater-field-builder>\r\n</ng-template>\r\n\r\n<ng-template #delete let-item=\"itemIndex\">\r\n <button class=\"{{options.DeleteButtonExtraClasses}}\" type=\"button\" (click)=\"deleteItem(item)\"\r\n [disabled]=\"items.length ==options.MinRequiredItems&&options.IsRequired\"> <span [innerHTML]=\"options.DeleteButtonText\"></span></button>\r\n</ng-template>\r\n\r\n<ng-template #add>\r\n <button class=\"{{options.AddButtonExtraClasses}}\" type=\"button\"\r\n (click)=\"AddItem()\"><span [innerHTML]=\"options.AddButtonText\"></span></button>\r\n</ng-template>\r\n\r\n\r\n\r\n\r\n\r\n<!-- <ng-template adHost></ng-template> -->",
5266
+ styles: [""]
5267
+ },] }
5268
+ ];
5269
+ RepeaterComponent.ctorParameters = () => [];
5270
+ RepeaterComponent.propDecorators = {
5271
+ group: [{ type: Input }],
5272
+ options: [{ type: Input }],
5273
+ initialTemplate: [{ type: Input }],
5274
+ _templates: [{ type: ViewChildren, args: [NgTemplateNameDirective,] }],
5275
+ delete: [{ type: ViewChild, args: ['delete', { static: false },] }]
5276
+ };
5277
+
5278
+ var PermissionSets;
5279
+ (function (PermissionSets) {
5280
+ PermissionSets[PermissionSets["Admin"] = 1] = "Admin";
5281
+ PermissionSets[PermissionSets["BusinessAdmin"] = 2] = "BusinessAdmin";
5282
+ PermissionSets[PermissionSets["Customer"] = 3] = "Customer";
5283
+ })(PermissionSets || (PermissionSets = {}));
5284
+ var PropertyLocation;
5285
+ (function (PropertyLocation) {
5286
+ PropertyLocation[PropertyLocation["InternalIdeas"] = 53001] = "InternalIdeas";
5287
+ PropertyLocation[PropertyLocation["EvaluationRequest"] = 53002] = "EvaluationRequest";
5288
+ PropertyLocation[PropertyLocation["IMOBusiness"] = 53003] = "IMOBusiness";
5289
+ PropertyLocation[PropertyLocation["PublicIdeas"] = 53004] = "PublicIdeas";
5290
+ })(PropertyLocation || (PropertyLocation = {}));
5291
+ var LanguageType;
5292
+ (function (LanguageType) {
5293
+ LanguageType[LanguageType["English"] = 54001] = "English";
5294
+ LanguageType[LanguageType["Arabic"] = 54002] = "Arabic";
5295
+ LanguageType[LanguageType["Any"] = 54003] = "Any";
5296
+ })(LanguageType || (LanguageType = {}));
5297
+ var DataType;
5298
+ (function (DataType) {
5299
+ DataType[DataType["Text"] = 52001] = "Text";
5300
+ DataType[DataType["Email"] = 52002] = "Email";
5301
+ DataType[DataType["Number"] = 52005] = "Number";
5302
+ DataType[DataType["Name"] = 52003] = "Name";
5303
+ DataType[DataType["Mobile"] = 52004] = "Mobile";
5304
+ DataType[DataType["MultilineText"] = 52006] = "MultilineText";
5305
+ DataType[DataType["HTML"] = 52007] = "HTML";
5306
+ DataType[DataType["Image"] = 52010] = "Image";
5307
+ DataType[DataType["File"] = 52011] = "File";
5308
+ DataType[DataType["MultiFile"] = 52012] = "MultiFile";
5309
+ DataType[DataType["Boolean"] = 52013] = "Boolean";
5310
+ DataType[DataType["Date"] = 52014] = "Date";
5311
+ DataType[DataType["DateTime"] = 52015] = "DateTime";
5312
+ DataType[DataType["Time"] = 52016] = "Time";
5313
+ DataType[DataType["Location"] = 52017] = "Location";
5314
+ DataType[DataType["SingleSelect"] = 52008] = "SingleSelect";
5315
+ DataType[DataType["MulipleSelect"] = 52009] = "MulipleSelect";
5316
+ DataType[DataType["Goal"] = 52018] = "Goal";
5317
+ DataType[DataType["Challenge"] = 52019] = "Challenge";
5318
+ DataType[DataType["CoverPhoto"] = 52020] = "CoverPhoto";
5319
+ DataType[DataType["InnovationLab"] = 52021] = "InnovationLab";
5320
+ DataType[DataType["Country"] = 52022] = "Country";
5321
+ })(DataType || (DataType = {}));
5322
+
5323
+ var ForceDirection;
5324
+ (function (ForceDirection) {
5325
+ ForceDirection[ForceDirection["English"] = 1] = "English";
5326
+ ForceDirection[ForceDirection["Arabic"] = 2] = "Arabic";
5327
+ })(ForceDirection || (ForceDirection = {}));
5328
+
5329
+ class DatePickerOptions {
5330
+ constructor() {
5331
+ /** to set type of view if DatePicker is Vertical or Horizontal */
5332
+ this.ViewType = ControlLayout.Vertical;
5333
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5334
+ */
5335
+ this.CustomValidation = [];
5336
+ /**To set First Day Of Week to DatePicker */
5337
+ this.FirstDayOfWeek = 1;
5338
+ /**To set PickerType to DatePicker is Calendar or Timer Or Both */
5339
+ this.PickerType = PickerType.Calendar;
5340
+ /**To set StartView to DatePicker is Year or Month Or Multi-Year */
5341
+ this.StartView = StartView.Month;
5342
+ /**To set SelectMode to DatePicker is Single or Range */
5343
+ this.SelectMode = SelectMode.Single;
5344
+ this.ForceDirection = ForceDirection.English;
5345
+ }
5346
+ }
5347
+
5348
+ class DropdownOptions {
5349
+ constructor() {
5350
+ /** Disable Bootstrap DropdownList */
5351
+ this.DisableBootstrapSelect = false;
5352
+ /** to set type of view if DropdownList is Vertical or Horizontal */
5353
+ this.ViewType = null;
5354
+ /** To Set Custom Validation*/
5355
+ this.CustomValidation = [];
5356
+ /** Set key for item in DropdownList */
5357
+ this.ItemTempletkey = "key";
5358
+ /** Set value for item in DropdownList */
5359
+ this.ItemTempletvalue = "value";
5360
+ this.ForceDirection = ForceDirection.English;
5361
+ }
5362
+ }
5363
+
5364
+ class FileUploadOptions {
5365
+ constructor() {
5366
+ /** Ability to set FileInput required */
5367
+ this.IsMultipleFile = false;
5368
+ /** Sets boolean Value to Show IsDropZone Or Not */
5369
+ this.IsDropZone = false;
5370
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5371
+ */
5372
+ this.CustomValidation = [];
5373
+ /** to set type of view if textbox is Vertical or Horizontal */
5374
+ this.ViewType = null;
5375
+ }
5376
+ }
5377
+
5378
+ class HtmlEditorOptions {
5379
+ constructor() {
5380
+ /** to set type of view if textbox is Vertical or Horizontal */
5381
+ this.ViewType = null;
5382
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5383
+ */
5384
+ this.CustomValidation = [];
5385
+ /** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
5386
+ this.ForceDirection = ForceDirection.English;
5387
+ /** Set Height For */
5388
+ this.Height = 150;
5389
+ }
5390
+ }
5391
+
5392
+ var ImageType;
5393
+ (function (ImageType) {
5394
+ ImageType["ImageTypes"] = "image/png,image/bmp,image/jpeg";
5395
+ ImageType["PNG"] = "image/png";
5396
+ ImageType["JPG"] = "image/jpeg";
5397
+ ImageType["JPEG"] = "image/jpeg";
5398
+ ImageType["SVG"] = "image/svg+xml";
5399
+ ImageType["None"] = "";
5400
+ })(ImageType || (ImageType = {}));
5401
+
5402
+ class ImageUploadOptions {
5403
+ constructor() {
5404
+ /** Allow to Upload Multiple File */
5405
+ this.IsMultiple = false;
5406
+ /** Allow to Use Drop Zone */
5407
+ this.AllowDropZone = false;
5408
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5409
+ */
5410
+ this.CustomValidation = [];
5411
+ /** to set type of view if FileInput is Vertical or Horizontal */
5412
+ this.ViewType = null;
5413
+ /** Set List of Custom Attribute to FileInput */
5414
+ this.FileUploadAcceptsTypes = [ImageType.ImageTypes];
5415
+ }
5416
+ }
5417
+
5418
+ class MapAutoCompleteOptions {
5419
+ constructor() {
5420
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5421
+ */
5422
+ this.CustomValidation = [];
5423
+ /** to set type of view if MapAutoComplete is Vertical or Horizontal */
5424
+ this.ViewType = null;
5425
+ }
5426
+ }
5427
+
5428
+ class PhoneOptions {
5429
+ constructor() {
5430
+ /**
5431
+ * Represent Css classes to Phonebox
5432
+ */
5433
+ this.ExtraClasses = "form-control bnsights-control";
5434
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5435
+ */
5436
+ this.CustomValidation = [];
5437
+ /**Set List Of Countries As Preferred Countries*/
5438
+ this.PreferredCountries = [];
5439
+ /** to set type of view if Phonebox is Vertical or Horizontal */
5440
+ this.ViewType = null;
5441
+ this.ForceDirection = ForceDirection.English;
5442
+ }
5443
+ }
5444
+
5445
+ class RangeNumber {
5446
+ }
5447
+
5448
+ class TextAreaOptions {
5449
+ constructor() {
5450
+ /** to set type of view if TextArea is Vertical or Horizontal */
5451
+ this.ViewType = null;
5452
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5453
+ */
5454
+ this.CustomValidation = [];
5455
+ /** to set Direction of TextArea if TextArea is Arabic or English */
5456
+ this.ForceDirection = ForceDirection.English;
5457
+ }
5458
+ }
5459
+
5460
+ var IconPosition;
5461
+ (function (IconPosition) {
5462
+ IconPosition[IconPosition["left"] = 1] = "left";
5463
+ IconPosition[IconPosition["right"] = 2] = "right";
5464
+ })(IconPosition || (IconPosition = {}));
5465
+
5466
+ class TextBoxOptions {
5467
+ constructor() {
5468
+ /** set Range Number to Textbox with type number with From-Value and To-value*/
5469
+ this.NumberRange = new RangeNumber();
5470
+ /**Prevent AutoComplete of textbox*/
5471
+ this.AutoComplete = "off";
5472
+ /** to set type of view if textbox is Vertical or Horizontal */
5473
+ this.ViewType = null;
5474
+ /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5475
+ */
5476
+ this.CustomValidation = [];
5477
+ /** to set Direction of textbox if textbox is Arabic or English */
5478
+ this.ForceDirection = null;
5479
+ /** Set Type of TextBox ("text","password","email","number") */
5480
+ this.Type = InputType.Text;
5481
+ this.IconPosition = IconPosition.left;
5482
+ this.NoMargin = false;
5483
+ this.ValidationRules = [];
5484
+ }
5485
+ }
5486
+
5487
+ class ToggleSlideOptions {
5488
+ constructor() {
5489
+ this.ViewType = null;
5490
+ this.ForceDirection = ForceDirection.English;
5491
+ }
5492
+ }
5493
+
5494
+ class RenderComponentService {
5495
+ constructor(componentFactoryResolver) {
5496
+ this.componentFactoryResolver = componentFactoryResolver;
5497
+ }
5498
+ renderDynamicComponent(viewContainerRef, component, group, options) {
5499
+ let factory = this.componentFactoryResolver.resolveComponentFactory(component);
5500
+ const componentRef = viewContainerRef.createComponent(factory);
5501
+ componentRef.instance.group = group;
5502
+ componentRef.instance.options = options;
5503
+ }
5504
+ }
5505
+ RenderComponentService.decorators = [
5506
+ { type: Injectable }
5507
+ ];
5508
+ RenderComponentService.ctorParameters = () => [
5509
+ { type: ComponentFactoryResolver }
5510
+ ];
5511
+
5512
+ class RepeaterFieldBuilderComponent {
5513
+ constructor(renderComponentService, TextControlHost) {
5514
+ this.renderComponentService = renderComponentService;
5515
+ this.TextControlHost = TextControlHost;
5516
+ }
5517
+ ngOnInit() {
5518
+ }
5519
+ ngAfterViewInit() {
5520
+ setTimeout(() => {
5521
+ this.Item.clear();
5522
+ switch (this.RepeaterField.ControlType) {
5523
+ ///TextBox
5524
+ case DataType.Text:
5525
+ let Text = new TextBoxOptions();
5526
+ Text.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5527
+ Text.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5528
+ Text.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5529
+ Text.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5530
+ Text.ViewType = this.RepeaterField.ControlOptions.ViewType;
5531
+ Text.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5532
+ Text.Type = InputType.Text;
5533
+ if (this.RepeaterField.ControlOptions.maxLength)
5534
+ Text.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5535
+ if (this.RepeaterField.ControlOptions.minLength)
5536
+ Text.MinLength = this.RepeaterField.ControlOptions.minLength;
5537
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Text);
5538
+ break;
5539
+ case DataType.Name:
5540
+ let Name = new TextBoxOptions();
5541
+ Name.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5542
+ Name.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5543
+ Name.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5544
+ Name.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5545
+ Name.ViewType = this.RepeaterField.ControlOptions.ViewType;
5546
+ Name.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5547
+ if (this.RepeaterField.ControlOptions.maxLength)
5548
+ Name.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5549
+ if (this.RepeaterField.ControlOptions.minLength)
5550
+ Name.MinLength = this.RepeaterField.ControlOptions.minLength;
5551
+ Name.Type = InputType.Text;
5552
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Name);
5553
+ break;
5554
+ case DataType.Email:
5555
+ let Email = new TextBoxOptions();
5556
+ Email.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5557
+ Email.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5558
+ Email.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5559
+ Email.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5560
+ Email.ViewType = this.RepeaterField.ControlOptions.ViewType;
5561
+ Email.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5562
+ Email.Type = InputType.Email;
5563
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Email);
5564
+ break;
5565
+ case DataType.Number:
5566
+ let Number = new TextBoxOptions();
5567
+ Number.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5568
+ Number.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5569
+ Number.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5570
+ Number.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5571
+ Number.ViewType = this.RepeaterField.ControlOptions.ViewType;
5572
+ Number.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5573
+ Number.Type = InputType.Number;
5574
+ let rangeNumber = new RangeNumber();
5575
+ rangeNumber.To = this.RepeaterField.ControlOptions.maxLength;
5576
+ rangeNumber.From = this.RepeaterField.ControlOptions.minLength;
5577
+ Number.NumberRange = rangeNumber;
5578
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Number);
5579
+ break;
5580
+ ///DateTime
5581
+ case DataType.Date:
5582
+ let Date = new DatePickerOptions();
5583
+ Date.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5584
+ Date.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5585
+ Date.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5586
+ Date.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5587
+ Date.ViewType = this.RepeaterField.ControlOptions.ViewType;
5588
+ Date.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5589
+ Date.PickerType = PickerType.Calendar;
5590
+ Date.SelectMode = SelectMode.Single;
5591
+ Date.StartView = StartView.Month;
5592
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Date);
5593
+ break;
5594
+ case DataType.DateTime:
5595
+ let DateTime = new DatePickerOptions();
5596
+ DateTime.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5597
+ DateTime.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5598
+ DateTime.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5599
+ DateTime.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5600
+ DateTime.ViewType = this.RepeaterField.ControlOptions.ViewType;
5601
+ DateTime.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5602
+ DateTime.PickerType = PickerType.Both;
5603
+ DateTime.SelectMode = SelectMode.Single;
5604
+ DateTime.StartView = StartView.Month;
5605
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, DateTime);
5606
+ break;
5607
+ case DataType.Time:
5608
+ let Time = new DatePickerOptions();
5609
+ Time.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5610
+ Time.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5611
+ Time.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5612
+ Time.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5613
+ Time.ViewType = this.RepeaterField.ControlOptions.ViewType;
5614
+ Time.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5615
+ Time.PickerType = PickerType.Timer;
5616
+ Time.SelectMode = SelectMode.Single;
5617
+ Time.StartView = StartView.Month;
5618
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Time);
5619
+ break;
5620
+ //Dropdown
5621
+ case DataType.SingleSelect:
5622
+ let SingleSelect = new DropdownOptions();
5623
+ SingleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5624
+ SingleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5625
+ SingleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5626
+ SingleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5627
+ SingleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
5628
+ SingleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5629
+ SingleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
5630
+ SingleSelect.SingleSelection = true;
5631
+ SingleSelect.ShowCheckbox = false;
5632
+ SingleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5633
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, SingleSelect);
5634
+ break;
5635
+ case DataType.MulipleSelect:
5636
+ let MulipleSelect = new DropdownOptions();
5637
+ MulipleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5638
+ MulipleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5639
+ MulipleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5640
+ MulipleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5641
+ MulipleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
5642
+ MulipleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5643
+ MulipleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
5644
+ MulipleSelect.SingleSelection = false;
5645
+ MulipleSelect.ShowCheckbox = false;
5646
+ MulipleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5647
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, MulipleSelect);
5648
+ break;
5649
+ case DataType.Goal:
5650
+ let Goal = new DropdownOptions();
5651
+ Goal.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5652
+ Goal.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5653
+ Goal.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5654
+ Goal.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5655
+ Goal.ViewType = this.RepeaterField.ControlOptions.ViewType;
5656
+ Goal.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5657
+ Goal.DataSource = this.RepeaterField.ControlOptions.dataSource;
5658
+ Goal.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5659
+ Goal.ShowCheckbox = false;
5660
+ Goal.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5661
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Goal);
5662
+ break;
5663
+ case DataType.Challenge:
5664
+ let Challenge = new DropdownOptions();
5665
+ Challenge.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5666
+ Challenge.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5667
+ Challenge.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5668
+ Challenge.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5669
+ Challenge.ViewType = this.RepeaterField.ControlOptions.ViewType;
5670
+ Challenge.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5671
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
5672
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
5673
+ Challenge.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5674
+ Challenge.ShowCheckbox = false;
5675
+ Challenge.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5676
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Challenge);
5677
+ break;
5678
+ case DataType.InnovationLab:
5679
+ let InnovationLab = new DropdownOptions();
5680
+ InnovationLab.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5681
+ InnovationLab.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5682
+ InnovationLab.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5683
+ InnovationLab.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5684
+ InnovationLab.ViewType = this.RepeaterField.ControlOptions.ViewType;
5685
+ InnovationLab.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5686
+ InnovationLab.DataSource = this.RepeaterField.ControlOptions.dataSource;
5687
+ InnovationLab.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5688
+ InnovationLab.ShowCheckbox = false;
5689
+ InnovationLab.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5690
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, InnovationLab);
5691
+ break;
5692
+ case DataType.Country:
5693
+ let Country = new DropdownOptions();
5694
+ Country.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5695
+ Country.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5696
+ Country.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5697
+ Country.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5698
+ Country.ViewType = this.RepeaterField.ControlOptions.ViewType;
5699
+ Country.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5700
+ Country.DataSource = this.RepeaterField.ControlOptions.dataSource;
5701
+ Country.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5702
+ Country.ShowCheckbox = false;
5703
+ Country.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5704
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Country);
5705
+ break;
5706
+ //FileUpload
5707
+ case DataType.File:
5708
+ let File = new FileUploadOptions();
5709
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5710
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5711
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5712
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5713
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
5714
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5715
+ File.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
5716
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, File);
5717
+ break;
5718
+ case DataType.MultiFile:
5719
+ let MultiFile = new FileUploadOptions();
5720
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5721
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5722
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5723
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5724
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
5725
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5726
+ MultiFile.MaxSizeForAllFilesInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
5727
+ MultiFile.MaxNoOfFiles = this.RepeaterField.ControlOptions.maxFileCount;
5728
+ MultiFile.IsMultipleFile = true;
5729
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, MultiFile);
5730
+ break;
5731
+ //ImageUpload
5732
+ case DataType.Image:
5733
+ let Image = new ImageUploadOptions();
5734
+ Image.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5735
+ Image.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5736
+ Image.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5737
+ Image.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5738
+ Image.ViewType = this.RepeaterField.ControlOptions.ViewType;
5739
+ Image.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5740
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
5741
+ Image.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
5742
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, Image);
5743
+ break;
5744
+ case DataType.CoverPhoto:
5745
+ let CoverPhoto = new ImageUploadOptions();
5746
+ CoverPhoto.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5747
+ CoverPhoto.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5748
+ CoverPhoto.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5749
+ CoverPhoto.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5750
+ CoverPhoto.ViewType = this.RepeaterField.ControlOptions.ViewType;
5751
+ CoverPhoto.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5752
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
5753
+ CoverPhoto.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
5754
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, CoverPhoto);
5755
+ break;
5756
+ //Mobile
5757
+ case DataType.Mobile:
5758
+ let Mobile = new PhoneOptions();
5759
+ Mobile.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5760
+ Mobile.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5761
+ Mobile.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5762
+ Mobile.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5763
+ Mobile.ViewType = this.RepeaterField.ControlOptions.ViewType;
5764
+ Mobile.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5765
+ Mobile.AllowSearch = true;
5766
+ Mobile.PhoneValidation = true;
5767
+ Mobile.SelectFirstCountry = true;
5768
+ Mobile.EnablePlaceholder = true;
5769
+ this.renderComponentService.renderDynamicComponent(this.Item, PhoneComponent, this.group, Mobile);
5770
+ break;
5771
+ //MultilineText
5772
+ case DataType.MultilineText:
5773
+ let MultilineText = new TextAreaOptions();
5774
+ MultilineText.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5775
+ MultilineText.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5776
+ MultilineText.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5777
+ MultilineText.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5778
+ MultilineText.ViewType = this.RepeaterField.ControlOptions.ViewType;
5779
+ MultilineText.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5780
+ if (this.RepeaterField.ControlOptions.maxLength)
5781
+ MultilineText.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5782
+ if (this.RepeaterField.ControlOptions.minLength)
5783
+ MultilineText.MinLength = this.RepeaterField.ControlOptions.minLength;
5784
+ MultilineText.Rows = this.RepeaterField.ControlOptions.rows;
5785
+ MultilineText.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
5786
+ this.renderComponentService.renderDynamicComponent(this.Item, TextAreaComponent, this.group, MultilineText);
5787
+ break;
5788
+ //HTML
5789
+ case DataType.HTML:
5790
+ let HTML = new HtmlEditorOptions();
5791
+ HTML.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5792
+ HTML.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5793
+ HTML.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5794
+ HTML.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5795
+ HTML.ViewType = this.RepeaterField.ControlOptions.ViewType;
5796
+ HTML.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5797
+ if (this.RepeaterField.ControlOptions.maxLength)
5798
+ HTML.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5799
+ if (this.RepeaterField.ControlOptions.minLength)
5800
+ HTML.MinLength = this.RepeaterField.ControlOptions.minLength;
5801
+ HTML.Height = this.RepeaterField.ControlOptions.rows;
5802
+ HTML.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
5803
+ this.renderComponentService.renderDynamicComponent(this.Item, HtmlEditorComponent, this.group, HTML);
5804
+ break;
5805
+ //Boolean
5806
+ case DataType.Boolean:
5807
+ let Boolean = new ToggleSlideOptions();
5808
+ Boolean.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5809
+ Boolean.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5810
+ Boolean.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5811
+ Boolean.ViewType = this.RepeaterField.ControlOptions.ViewType;
5812
+ Boolean.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5813
+ this.renderComponentService.renderDynamicComponent(this.Item, ToggleslideComponent, this.group, Boolean);
5814
+ break;
5815
+ //Location
5816
+ case DataType.Location:
5817
+ let Location = new MapAutoCompleteOptions();
5818
+ Location.Name = this.RepeaterField.ControlOptions.Name + "." + this.itemNumber.toString() + "." + this.controlNumber.toString();
5819
+ Location.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5820
+ Location.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5821
+ Location.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5822
+ Location.ViewType = this.RepeaterField.ControlOptions.ViewType;
5823
+ Location.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5824
+ this.renderComponentService.renderDynamicComponent(this.Item, MapAutoCompleteComponent, this.group, Location);
5825
+ break;
5826
+ default:
5827
+ break;
5828
+ }
5829
+ }, 0);
5830
+ }
5831
+ ngOnChanges(changes) {
5832
+ if (changes.itemNumber.previousValue) {
5833
+ let name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.previousValue.toString() + "." + this.controlNumber.toString();
5834
+ let value = this.group.controls[name].value;
5835
+ this.Item.clear();
5836
+ this.group.removeControl(name);
5837
+ switch (this.RepeaterField.ControlType) {
5838
+ ///TextBox
5839
+ case DataType.Text:
5840
+ let Text = new TextBoxOptions();
5841
+ Text.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5842
+ Text.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5843
+ Text.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5844
+ Text.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5845
+ Text.ViewType = this.RepeaterField.ControlOptions.ViewType;
5846
+ Text.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5847
+ Text.Type = InputType.Text;
5848
+ if (this.RepeaterField.ControlOptions.maxLength)
5849
+ Text.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5850
+ if (this.RepeaterField.ControlOptions.minLength)
5851
+ Text.MinLength = this.RepeaterField.ControlOptions.minLength;
5852
+ Text.Value = value;
5853
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Text);
5854
+ break;
5855
+ case DataType.Name:
5856
+ let Name = new TextBoxOptions();
5857
+ Name.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5858
+ Name.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5859
+ Name.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5860
+ Name.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5861
+ Name.ViewType = this.RepeaterField.ControlOptions.ViewType;
5862
+ Name.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5863
+ if (this.RepeaterField.ControlOptions.maxLength)
5864
+ Name.MaxLength = this.RepeaterField.ControlOptions.maxLength;
5865
+ if (this.RepeaterField.ControlOptions.minLength)
5866
+ Name.MinLength = this.RepeaterField.ControlOptions.minLength;
5867
+ Name.Type = InputType.Text;
5868
+ Name.Value = value;
5869
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Name);
5870
+ break;
5871
+ case DataType.Email:
5872
+ let Email = new TextBoxOptions();
5873
+ Email.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5874
+ Email.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5875
+ Email.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5876
+ Email.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5877
+ Email.ViewType = this.RepeaterField.ControlOptions.ViewType;
5878
+ Email.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5879
+ Email.Type = InputType.Email;
5880
+ Email.Value = value;
5881
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Email);
5882
+ break;
5883
+ case DataType.Number:
5884
+ let Number = new TextBoxOptions();
5885
+ Number.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5886
+ Number.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5887
+ Number.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5888
+ Number.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5889
+ Number.ViewType = this.RepeaterField.ControlOptions.ViewType;
5890
+ Number.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5891
+ Number.Type = InputType.Number;
5892
+ let rangeNumber = new RangeNumber();
5893
+ rangeNumber.To = this.RepeaterField.ControlOptions.maxLength;
5894
+ rangeNumber.From = this.RepeaterField.ControlOptions.minLength;
5895
+ Number.NumberRange = rangeNumber;
5896
+ Number.Value = value;
5897
+ this.renderComponentService.renderDynamicComponent(this.Item, TextboxComponent, this.group, Number);
5898
+ break;
5899
+ ///DateTime
5900
+ case DataType.Date:
5901
+ let Date = new DatePickerOptions();
5902
+ Date.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5903
+ Date.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5904
+ Date.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5905
+ Date.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5906
+ Date.ViewType = this.RepeaterField.ControlOptions.ViewType;
5907
+ Date.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5908
+ Date.PickerType = PickerType.Calendar;
5909
+ Date.SelectMode = SelectMode.Single;
5910
+ Date.StartView = StartView.Month;
5911
+ Date.Value = value;
5912
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Date);
5913
+ break;
5914
+ case DataType.DateTime:
5915
+ let DateTime = new DatePickerOptions();
5916
+ DateTime.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5917
+ DateTime.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5918
+ DateTime.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5919
+ DateTime.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5920
+ DateTime.ViewType = this.RepeaterField.ControlOptions.ViewType;
5921
+ DateTime.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5922
+ DateTime.PickerType = PickerType.Both;
5923
+ DateTime.SelectMode = SelectMode.Single;
5924
+ DateTime.StartView = StartView.Month;
5925
+ DateTime.Value = value;
5926
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, DateTime);
5927
+ break;
5928
+ case DataType.Time:
5929
+ let Time = new DatePickerOptions();
5930
+ Time.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5931
+ Time.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5932
+ Time.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5933
+ Time.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5934
+ Time.ViewType = this.RepeaterField.ControlOptions.ViewType;
5935
+ Time.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5936
+ Time.PickerType = PickerType.Timer;
5937
+ Time.SelectMode = SelectMode.Single;
5938
+ Time.StartView = StartView.Month;
5939
+ Time.Value = value;
5940
+ this.renderComponentService.renderDynamicComponent(this.Item, DateInputComponent, this.group, Time);
5941
+ break;
5942
+ //Dropdown
5943
+ case DataType.SingleSelect:
5944
+ let SingleSelect = new DropdownOptions();
5945
+ SingleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5946
+ SingleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5947
+ SingleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5948
+ SingleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5949
+ SingleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
5950
+ SingleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5951
+ SingleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
5952
+ SingleSelect.SingleSelection = true;
5953
+ SingleSelect.ShowCheckbox = false;
5954
+ SingleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5955
+ SingleSelect.SelectedItems = value;
5956
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, SingleSelect);
5957
+ break;
5958
+ case DataType.MulipleSelect:
5959
+ let MulipleSelect = new DropdownOptions();
5960
+ MulipleSelect.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5961
+ MulipleSelect.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5962
+ MulipleSelect.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5963
+ MulipleSelect.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5964
+ MulipleSelect.ViewType = this.RepeaterField.ControlOptions.ViewType;
5965
+ MulipleSelect.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5966
+ MulipleSelect.DataSource = this.RepeaterField.ControlOptions.dataSource;
5967
+ MulipleSelect.SingleSelection = false;
5968
+ MulipleSelect.ShowCheckbox = false;
5969
+ MulipleSelect.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5970
+ MulipleSelect.SelectedItems = value;
5971
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, MulipleSelect);
5972
+ break;
5973
+ case DataType.Goal:
5974
+ let Goal = new DropdownOptions();
5975
+ Goal.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5976
+ Goal.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5977
+ Goal.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5978
+ Goal.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5979
+ Goal.ViewType = this.RepeaterField.ControlOptions.ViewType;
5980
+ Goal.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5981
+ Goal.DataSource = this.RepeaterField.ControlOptions.dataSource;
5982
+ Goal.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5983
+ Goal.ShowCheckbox = false;
5984
+ Goal.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
5985
+ Goal.SelectedItems = value;
5986
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Goal);
5987
+ break;
5988
+ case DataType.Challenge:
5989
+ let Challenge = new DropdownOptions();
5990
+ Challenge.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
5991
+ Challenge.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
5992
+ Challenge.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
5993
+ Challenge.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
5994
+ Challenge.ViewType = this.RepeaterField.ControlOptions.ViewType;
5995
+ Challenge.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
5996
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
5997
+ Challenge.DataSource = this.RepeaterField.ControlOptions.dataSource;
5998
+ Challenge.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
5999
+ Challenge.ShowCheckbox = false;
6000
+ Challenge.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6001
+ Challenge.SelectedItems = value;
6002
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Challenge);
6003
+ break;
6004
+ case DataType.InnovationLab:
6005
+ let InnovationLab = new DropdownOptions();
6006
+ InnovationLab.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6007
+ InnovationLab.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6008
+ InnovationLab.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6009
+ InnovationLab.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6010
+ InnovationLab.ViewType = this.RepeaterField.ControlOptions.ViewType;
6011
+ InnovationLab.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6012
+ InnovationLab.DataSource = this.RepeaterField.ControlOptions.dataSource;
6013
+ InnovationLab.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6014
+ InnovationLab.ShowCheckbox = false;
6015
+ InnovationLab.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6016
+ InnovationLab.SelectedItems = value;
6017
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, InnovationLab);
6018
+ break;
6019
+ case DataType.Country:
6020
+ let Country = new DropdownOptions();
6021
+ Country.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6022
+ Country.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6023
+ Country.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6024
+ Country.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6025
+ Country.ViewType = this.RepeaterField.ControlOptions.ViewType;
6026
+ Country.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6027
+ Country.DataSource = this.RepeaterField.ControlOptions.dataSource;
6028
+ Country.SingleSelection = !this.RepeaterField.ControlOptions.isMultiple;
6029
+ Country.ShowCheckbox = false;
6030
+ Country.AllowSearchFilter = this.RepeaterField.ControlOptions.hasSearch;
6031
+ Country.SelectedItems = value;
6032
+ this.renderComponentService.renderDynamicComponent(this.Item, DropdownListComponent, this.group, Country);
6033
+ break;
6034
+ //FileUpload
6035
+ case DataType.File:
6036
+ let File = new FileUploadOptions();
6037
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6038
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6039
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6040
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6041
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
6042
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6043
+ File.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6044
+ File.Value = value;
6045
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, File);
6046
+ break;
6047
+ case DataType.MultiFile:
6048
+ let MultiFile = new FileUploadOptions();
6049
+ File.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6050
+ File.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6051
+ File.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6052
+ File.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6053
+ File.ViewType = this.RepeaterField.ControlOptions.ViewType;
6054
+ File.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6055
+ MultiFile.MaxSizeForAllFilesInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6056
+ MultiFile.MaxNoOfFiles = this.RepeaterField.ControlOptions.maxFileCount;
6057
+ MultiFile.IsMultipleFile = true;
6058
+ MultiFile.Value = value;
6059
+ this.renderComponentService.renderDynamicComponent(this.Item, FileUploadComponent, this.group, MultiFile);
6060
+ break;
6061
+ //ImageUpload
6062
+ case DataType.Image:
6063
+ let Image = new ImageUploadOptions();
6064
+ Image.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6065
+ Image.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6066
+ Image.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6067
+ Image.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6068
+ Image.ViewType = this.RepeaterField.ControlOptions.ViewType;
6069
+ Image.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6070
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
6071
+ Image.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6072
+ Image.Value = value;
6073
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, Image);
6074
+ break;
6075
+ case DataType.CoverPhoto:
6076
+ let CoverPhoto = new ImageUploadOptions();
6077
+ CoverPhoto.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6078
+ CoverPhoto.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6079
+ CoverPhoto.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6080
+ CoverPhoto.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6081
+ CoverPhoto.ViewType = this.RepeaterField.ControlOptions.ViewType;
6082
+ CoverPhoto.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6083
+ if (this.RepeaterField.ControlOptions.maxFileSizeInMB)
6084
+ CoverPhoto.FileMaxSizeInMB = this.RepeaterField.ControlOptions.maxFileSizeInMB;
6085
+ CoverPhoto.Value = value;
6086
+ this.renderComponentService.renderDynamicComponent(this.Item, ImageUploaderComponent, this.group, CoverPhoto);
6087
+ break;
6088
+ //Mobile
6089
+ case DataType.Mobile:
6090
+ let Mobile = new PhoneOptions();
6091
+ Mobile.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6092
+ Mobile.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6093
+ Mobile.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6094
+ Mobile.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6095
+ Mobile.ViewType = this.RepeaterField.ControlOptions.ViewType;
6096
+ Mobile.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6097
+ Mobile.AllowSearch = true;
6098
+ Mobile.PhoneValidation = true;
6099
+ Mobile.SelectFirstCountry = true;
6100
+ Mobile.EnablePlaceholder = true;
6101
+ Mobile.Value = value;
6102
+ this.renderComponentService.renderDynamicComponent(this.Item, PhoneComponent, this.group, Mobile);
6103
+ break;
6104
+ //MultilineText
6105
+ case DataType.MultilineText:
6106
+ let MultilineText = new TextAreaOptions();
6107
+ MultilineText.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6108
+ MultilineText.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6109
+ MultilineText.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6110
+ MultilineText.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6111
+ MultilineText.ViewType = this.RepeaterField.ControlOptions.ViewType;
6112
+ MultilineText.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6113
+ if (this.RepeaterField.ControlOptions.maxLength)
6114
+ MultilineText.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6115
+ if (this.RepeaterField.ControlOptions.minLength)
6116
+ MultilineText.MinLength = this.RepeaterField.ControlOptions.minLength;
6117
+ MultilineText.Rows = this.RepeaterField.ControlOptions.rows;
6118
+ MultilineText.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
6119
+ MultilineText.Value = value;
6120
+ this.renderComponentService.renderDynamicComponent(this.Item, TextAreaComponent, this.group, MultilineText);
6121
+ break;
6122
+ //HTML
6123
+ case DataType.HTML:
6124
+ let HTML = new HtmlEditorOptions();
6125
+ HTML.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6126
+ HTML.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6127
+ HTML.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6128
+ HTML.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6129
+ HTML.ViewType = this.RepeaterField.ControlOptions.ViewType;
6130
+ HTML.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6131
+ if (this.RepeaterField.ControlOptions.maxLength)
6132
+ HTML.MaxLength = this.RepeaterField.ControlOptions.maxLength;
6133
+ if (this.RepeaterField.ControlOptions.minLength)
6134
+ HTML.MinLength = this.RepeaterField.ControlOptions.minLength;
6135
+ HTML.Height = this.RepeaterField.ControlOptions.rows;
6136
+ HTML.ForceDirection = this.RepeaterField.ControlOptions.ForceDirection;
6137
+ HTML.Value = value;
6138
+ this.renderComponentService.renderDynamicComponent(this.Item, HtmlEditorComponent, this.group, HTML);
6139
+ break;
6140
+ //Boolean
6141
+ case DataType.Boolean:
6142
+ let Boolean = new ToggleSlideOptions();
6143
+ Boolean.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6144
+ Boolean.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6145
+ Boolean.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6146
+ Boolean.ViewType = this.RepeaterField.ControlOptions.ViewType;
6147
+ Boolean.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6148
+ Boolean.Value = value;
6149
+ this.renderComponentService.renderDynamicComponent(this.Item, ToggleslideComponent, this.group, Boolean);
6150
+ break;
6151
+ //Location
6152
+ case DataType.Location:
6153
+ let Location = new MapAutoCompleteOptions();
6154
+ Location.Name = this.RepeaterField.ControlOptions.Name + "." + changes.itemNumber.currentValue + "." + this.controlNumber.toString();
6155
+ Location.HideLabel = this.RepeaterField.ControlOptions.HideLabel;
6156
+ Location.LabelKey = this.RepeaterField.ControlOptions.LabelKey;
6157
+ Location.IsRequired = this.RepeaterField.ControlOptions.IsRequired;
6158
+ Location.ViewType = this.RepeaterField.ControlOptions.ViewType;
6159
+ Location.LabelDescription = this.RepeaterField.ControlOptions.LabelDescription ? this.RepeaterField.ControlOptions.LabelDescription : "";
6160
+ Location.Value = value;
6161
+ this.renderComponentService.renderDynamicComponent(this.Item, MapAutoCompleteComponent, this.group, Location);
6162
+ break;
6163
+ default:
6164
+ break;
6165
+ }
6166
+ }
6167
+ }
6168
+ }
6169
+ RepeaterFieldBuilderComponent.decorators = [
6170
+ { type: Component, args: [{
6171
+ selector: 'repeater-field-builder',
6172
+ template: "<ng-container #Item></ng-container>\r\n"
6173
+ },] }
6174
+ ];
6175
+ RepeaterFieldBuilderComponent.ctorParameters = () => [
6176
+ { type: RenderComponentService },
6177
+ { type: FormGroupDirective }
6178
+ ];
6179
+ RepeaterFieldBuilderComponent.propDecorators = {
6180
+ Item: [{ type: ViewChild, args: ["Item", { read: ViewContainerRef },] }],
6181
+ group: [{ type: Input }],
6182
+ itemNumber: [{ type: Input }],
6183
+ controlNumber: [{ type: Input }],
6184
+ RepeaterField: [{ type: Input }]
6185
+ };
6186
+
6187
+ class RepeaterItemFieldComponent {
6188
+ constructor() { }
6189
+ ngOnInit() {
6190
+ }
6191
+ }
6192
+ RepeaterItemFieldComponent.decorators = [
6193
+ { type: Component, args: [{
6194
+ selector: 'repeater-item-field',
6195
+ template: "<ng-container *ngFor=\"let template of templates ; index as i\">\r\n <ng-container *ngIf=\"i==filedIndex\" [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext] ={itemIndex:itemIndex,controlIndex:i}></ng-container>\r\n </ng-container>",
6196
+ styles: [""]
6197
+ },] }
6198
+ ];
6199
+ RepeaterItemFieldComponent.ctorParameters = () => [];
6200
+ RepeaterItemFieldComponent.propDecorators = {
6201
+ templates: [{ type: Input }],
6202
+ filedIndex: [{ type: Input }],
6203
+ itemIndex: [{ type: Input }]
6204
+ };
6205
+
5151
6206
  let options;
5152
6207
  let AppInjector;
5153
6208
  FullCalendarModule.registerPlugins([
@@ -5190,7 +6245,11 @@ BBSFControlsModule.decorators = [
5190
6245
  JwPaginationComponent,
5191
6246
  RadioButtonComponent,
5192
6247
  FormComponent,
5193
- ConfirmationModalComponent
6248
+ ConfirmationModalComponent,
6249
+ RepeaterComponent,
6250
+ RepeaterFieldBuilderComponent,
6251
+ NgTemplateNameDirective,
6252
+ RepeaterItemFieldComponent,
5194
6253
  ],
5195
6254
  imports: [
5196
6255
  CommonModule,
@@ -5245,17 +6304,12 @@ BBSFControlsModule.decorators = [
5245
6304
  ErrorMassageValidation,
5246
6305
  ControlUtility,
5247
6306
  OnPagingFiltersChangeService,
5248
- // EnvironmentService,
5249
- // AuthService,
5250
- // RequestHandlerService,
5251
- // UtilityService,
5252
6307
  TranslateService,
5253
- // BBSFTranslateService,
5254
- // ControlValidationService,
5255
6308
  FormGroupDirective,
5256
6309
  NgbModal,
5257
6310
  NgbActiveModal,
5258
6311
  DatePipe,
6312
+ RenderComponentService,
5259
6313
  { provide: OWL_DATE_TIME_LOCALE, useValue: ɵ0 },
5260
6314
  ],
5261
6315
  schemas: [
@@ -5285,7 +6339,11 @@ BBSFControlsModule.decorators = [
5285
6339
  RadioButtonComponent,
5286
6340
  FormComponent,
5287
6341
  PagingComponent,
5288
- ConfirmationModalComponent
6342
+ ConfirmationModalComponent,
6343
+ RepeaterComponent,
6344
+ RepeaterFieldBuilderComponent,
6345
+ NgTemplateNameDirective,
6346
+ RepeaterItemFieldComponent,
5289
6347
  ]
5290
6348
  },] }
5291
6349
  ];
@@ -5320,75 +6378,6 @@ class CustomValidator {
5320
6378
  }
5321
6379
  }
5322
6380
 
5323
- var ForceDirection;
5324
- (function (ForceDirection) {
5325
- ForceDirection[ForceDirection["English"] = 1] = "English";
5326
- ForceDirection[ForceDirection["Arabic"] = 2] = "Arabic";
5327
- })(ForceDirection || (ForceDirection = {}));
5328
-
5329
- class DatePickerOptions {
5330
- constructor() {
5331
- /** to set type of view if DatePicker is Vertical or Horizontal */
5332
- this.ViewType = ControlLayout.Vertical;
5333
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5334
- */
5335
- this.CustomValidation = [];
5336
- /**To set First Day Of Week to DatePicker */
5337
- this.FirstDayOfWeek = 1;
5338
- /**To set PickerType to DatePicker is Calendar or Timer Or Both */
5339
- this.PickerType = PickerType.Calendar;
5340
- /**To set StartView to DatePicker is Year or Month Or Multi-Year */
5341
- this.StartView = StartView.Month;
5342
- /**To set SelectMode to DatePicker is Single or Range */
5343
- this.SelectMode = SelectMode.Single;
5344
- this.ForceDirection = ForceDirection.English;
5345
- }
5346
- }
5347
-
5348
- class RangeNumber {
5349
- }
5350
-
5351
- var IconPosition;
5352
- (function (IconPosition) {
5353
- IconPosition[IconPosition["left"] = 1] = "left";
5354
- IconPosition[IconPosition["right"] = 2] = "right";
5355
- })(IconPosition || (IconPosition = {}));
5356
-
5357
- class TextBoxOptions {
5358
- constructor() {
5359
- /** set Range Number to Textbox with type number with From-Value and To-value*/
5360
- this.NumberRange = new RangeNumber();
5361
- /**Prevent AutoComplete of textbox*/
5362
- this.AutoComplete = "off";
5363
- /** to set type of view if textbox is Vertical or Horizontal */
5364
- this.ViewType = null;
5365
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5366
- */
5367
- this.CustomValidation = [];
5368
- /** to set Direction of textbox if textbox is Arabic or English */
5369
- this.ForceDirection = null;
5370
- /** Set Type of TextBox ("text","password","email","number") */
5371
- this.Type = InputType.Text;
5372
- this.IconPosition = IconPosition.left;
5373
- this.NoMargin = false;
5374
- this.ValidationRules = [];
5375
- }
5376
- }
5377
-
5378
- class FileUploadOptions {
5379
- constructor() {
5380
- /** Ability to set FileInput required */
5381
- this.IsMultipleFile = false;
5382
- /** Sets boolean Value to Show IsDropZone Or Not */
5383
- this.IsDropZone = false;
5384
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5385
- */
5386
- this.CustomValidation = [];
5387
- /** to set type of view if textbox is Vertical or Horizontal */
5388
- this.ViewType = null;
5389
- }
5390
- }
5391
-
5392
6381
  class MultiLingualTextBoxOptions {
5393
6382
  constructor() {
5394
6383
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5410,18 +6399,6 @@ class MultiLingualTextBoxOptions {
5410
6399
  class Attribute {
5411
6400
  }
5412
6401
 
5413
- class TextAreaOptions {
5414
- constructor() {
5415
- /** to set type of view if TextArea is Vertical or Horizontal */
5416
- this.ViewType = null;
5417
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5418
- */
5419
- this.CustomValidation = [];
5420
- /** to set Direction of TextArea if TextArea is Arabic or English */
5421
- this.ForceDirection = ForceDirection.English;
5422
- }
5423
- }
5424
-
5425
6402
  class MultiLingualTextAreaOptions {
5426
6403
  constructor() {
5427
6404
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5452,60 +6429,6 @@ class CheckBoxOptions {
5452
6429
  class DropdownListItem {
5453
6430
  }
5454
6431
 
5455
- class DropdownOptions {
5456
- constructor() {
5457
- /** Disable Bootstrap DropdownList */
5458
- this.DisableBootstrapSelect = false;
5459
- /** to set type of view if DropdownList is Vertical or Horizontal */
5460
- this.ViewType = null;
5461
- /** To Set Custom Validation*/
5462
- this.CustomValidation = [];
5463
- /** Set key for item in DropdownList */
5464
- this.ItemTempletkey = "key";
5465
- /** Set value for item in DropdownList */
5466
- this.ItemTempletvalue = "value";
5467
- this.ForceDirection = ForceDirection.English;
5468
- }
5469
- }
5470
-
5471
- class PhoneOptions {
5472
- constructor() {
5473
- /**
5474
- * Represent Css classes to Phonebox
5475
- */
5476
- this.ExtraClasses = "form-control bnsights-control";
5477
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5478
- */
5479
- this.CustomValidation = [];
5480
- /**Set List Of Countries As Preferred Countries*/
5481
- this.PreferredCountries = [];
5482
- /** to set type of view if Phonebox is Vertical or Horizontal */
5483
- this.ViewType = null;
5484
- this.ForceDirection = ForceDirection.English;
5485
- }
5486
- }
5487
-
5488
- class ToggleSlideOptions {
5489
- constructor() {
5490
- this.ViewType = null;
5491
- this.ForceDirection = ForceDirection.English;
5492
- }
5493
- }
5494
-
5495
- class HtmlEditorOptions {
5496
- constructor() {
5497
- /** to set type of view if textbox is Vertical or Horizontal */
5498
- this.ViewType = null;
5499
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5500
- */
5501
- this.CustomValidation = [];
5502
- /** to set Direction of HtmlEditor if HtmlEditor is Arabic or English */
5503
- this.ForceDirection = ForceDirection.English;
5504
- /** Set Height For */
5505
- this.Height = 150;
5506
- }
5507
- }
5508
-
5509
6432
  class MultiLingualHtmlEditorOptions {
5510
6433
  constructor() {
5511
6434
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5522,32 +6445,6 @@ class MultiLingualHtmlEditorOptions {
5522
6445
  }
5523
6446
  }
5524
6447
 
5525
- var ImageType;
5526
- (function (ImageType) {
5527
- ImageType["ImageTypes"] = "image/png,image/bmp,image/jpeg";
5528
- ImageType["PNG"] = "image/png";
5529
- ImageType["JPG"] = "image/jpeg";
5530
- ImageType["JPEG"] = "image/jpeg";
5531
- ImageType["SVG"] = "image/svg+xml";
5532
- ImageType["None"] = "";
5533
- })(ImageType || (ImageType = {}));
5534
-
5535
- class ImageUploadOptions {
5536
- constructor() {
5537
- /** Allow to Upload Multiple File */
5538
- this.IsMultiple = false;
5539
- /** Allow to Use Drop Zone */
5540
- this.AllowDropZone = false;
5541
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5542
- */
5543
- this.CustomValidation = [];
5544
- /** to set type of view if FileInput is Vertical or Horizontal */
5545
- this.ViewType = null;
5546
- /** Set List of Custom Attribute to FileInput */
5547
- this.FileUploadAcceptsTypes = [ImageType.ImageTypes];
5548
- }
5549
- }
5550
-
5551
6448
  class ProfileImageUploadOptions {
5552
6449
  constructor() {
5553
6450
  /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
@@ -5608,16 +6505,6 @@ class CalendarOptions {
5608
6505
  class CalendarEventDTO {
5609
6506
  }
5610
6507
 
5611
- class MapAutoCompleteOptions {
5612
- constructor() {
5613
- /** Allow to Pass Object With Body of Function which represent CustomValidation and massage for error massage
5614
- */
5615
- this.CustomValidation = [];
5616
- /** to set type of view if MapAutoComplete is Vertical or Horizontal */
5617
- this.ViewType = null;
5618
- }
5619
- }
5620
-
5621
6508
  class AutocompleteOptions {
5622
6509
  constructor() {
5623
6510
  /**
@@ -5815,6 +6702,19 @@ class ConfirmationModalOptions {
5815
6702
  }
5816
6703
  }
5817
6704
 
6705
+ class RepeaterField {
6706
+ }
6707
+
6708
+ class RepeaterOptions {
6709
+ constructor() {
6710
+ this.MinRequiredItems = 1;
6711
+ this.AddButtonText = "Add";
6712
+ this.DeleteButtonText = "Delete";
6713
+ this.RepeaterValue = [];
6714
+ this.RepeaterStructure = [];
6715
+ }
6716
+ }
6717
+
5818
6718
  var MenuListType;
5819
6719
  (function (MenuListType) {
5820
6720
  MenuListType[MenuListType["AdminType"] = 1] = "AdminType";
@@ -6138,5 +7038,5 @@ var FileType;
6138
7038
  * Generated bundle index. Do not edit.
6139
7039
  */
6140
7040
 
6141
- export { AppInjector, Attribute, AutocompleteDTO, AutocompleteOptions, AutocompleteTextBoxComponent, BBSFControlsModule, CalendarComponent, CalendarEventDTO, CalendarOptions, CalendarView, CancelDTO, CheckBoxComponent, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, ControlUtility, Country, CustomValidation, CustomValidator, DateInputComponent, DatePickerOptions, DropdownListComponent, DropdownListItem, DropdownOptions, EditPersonalImage, EnglishArabicDTO, ErrorMassageValidation, FileType, FileUploadComponent, FileUploadModel, FileUploadOptions, FilterItem, FilterType, FontSize, ForceDirection, FormComponent, FormOptions, GlobalSettings, HtmlEditorComponent, HtmlEditorOptions, IconPosition, ImageType, ImageUploadOptions, ImageUploaderComponent, InputType, Insert, JwPaginationComponent, LanguageMode, MapAutoCompleteComponent, MapAutoCompleteOptions, MapAutocompleteDTO, MenuListType, Misc, MultiLingualHtmlEditorComponent, MultiLingualHtmlEditorOptions, MultiLingualTextAreaComponent, MultiLingualTextAreaOptions, MultiLingualTextBoxComponent, MultiLingualTextBoxOptions, MultipleFileUploadModel, OnPagingFiltersChangeService, PagingActionMode, PagingComponent, PagingDTO, PagingOptions, Para, PhoneComponent, PhoneOptions, PickerType, ProfileImageUploadOptions, ProfileImageUploaderComponent, ProfilePictureDTO, RadioButtonComponent, RadioButtonItem, RadioButtonOptions, RangeNumber, SaveDTO, SelectMode, StartView, Style, StyleConfirmationMode, TagsInputComponent, TagsInputDTO, TagsInputOptions, TextAreaComponent, TextAreaOptions, TextBoxOptions, TextboxComponent, ToggleSlideOptions, ToggleslideComponent, UploadPersonalImage, environment, options, ɵ0 };
7041
+ export { AppInjector, Attribute, AutocompleteDTO, AutocompleteOptions, AutocompleteTextBoxComponent, BBSFControlsModule, CalendarComponent, CalendarEventDTO, CalendarOptions, CalendarView, CancelDTO, CheckBoxComponent, CheckBoxOptions, ConfirmationModalComponent, ConfirmationModalOptions, ControlLayout, ControlUtility, Country, CustomValidation, CustomValidator, DataType, DateInputComponent, DatePickerOptions, DropdownListComponent, DropdownListItem, DropdownOptions, EditPersonalImage, EnglishArabicDTO, ErrorMassageValidation, FileType, FileUploadComponent, FileUploadModel, FileUploadOptions, FilterItem, FilterType, FontSize, ForceDirection, FormComponent, FormOptions, GlobalSettings, HtmlEditorComponent, HtmlEditorOptions, IconPosition, ImageType, ImageUploadOptions, ImageUploaderComponent, InputType, Insert, JwPaginationComponent, LanguageMode, LanguageType, MapAutoCompleteComponent, MapAutoCompleteOptions, MapAutocompleteDTO, MenuListType, Misc, MultiLingualHtmlEditorComponent, MultiLingualHtmlEditorOptions, MultiLingualTextAreaComponent, MultiLingualTextAreaOptions, MultiLingualTextBoxComponent, MultiLingualTextBoxOptions, MultipleFileUploadModel, NgTemplateNameDirective, OnPagingFiltersChangeService, PagingActionMode, PagingComponent, PagingDTO, PagingOptions, Para, PermissionSets, PhoneComponent, PhoneOptions, PickerType, ProfileImageUploadOptions, ProfileImageUploaderComponent, ProfilePictureDTO, PropertyLocation, RadioButtonComponent, RadioButtonItem, RadioButtonOptions, RangeNumber, RenderComponentService, RepeaterComponent, RepeaterField, RepeaterFieldBuilderComponent, RepeaterItemFieldComponent, RepeaterOptions, SaveDTO, SelectMode, StartView, Style, StyleConfirmationMode, TagsInputComponent, TagsInputDTO, TagsInputOptions, TextAreaComponent, TextAreaOptions, TextBoxOptions, TextboxComponent, ToggleSlideOptions, ToggleslideComponent, UploadPersonalImage, environment, options, ɵ0 };
6142
7042
  //# sourceMappingURL=bnsights-bbsf-controls.js.map