{"version":3,"file":"tavanasystem-advance-toolbar.mjs","sources":["../../../../projects/tips-advance-toolbar/src/lib/advance-toolbar.component.ts","../../../../projects/tips-advance-toolbar/src/lib/advance-toolbar.component.html","../../../../projects/tips-advance-toolbar/src/lib/advance-toolbar.module.ts","../../../../projects/tips-advance-toolbar/src/public-api.ts","../../../../projects/tips-advance-toolbar/src/tavanasystem-advance-toolbar.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AdvanceToolbarConfig } from './advance-toolbar.model';\r\n\r\n@Component({\r\n  selector: 'tips-advance-toolbar',\r\n  templateUrl: 'advance-toolbar.component.html',\r\n  styleUrls: ['advance-toolbar.component.scss'],\r\n})\r\nexport class AdvanceToolbarComponent implements OnInit {\r\n  @Output() toolbarEvent: EventEmitter<any> = new EventEmitter<any>();\r\n  @Input() endConfigs: AdvanceToolbarConfig[] = [];\r\n  @Input() startConfigs: AdvanceToolbarConfig[] = [];\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  handleFn(fn: any) {\r\n    if (typeof fn == 'function') return fn();\r\n    else return fn;\r\n  }\r\n\r\n  onToolbarEvent(btn: any) {\r\n    this.toolbarEvent.emit(btn.id);\r\n  }\r\n}\r\n","<div class=\"white-space\">\r\n  <div id=\"toolbar-container\">\r\n    <span class=\"toolbar-group\">\r\n      <ng-container *ngFor=\"let config of startConfigs; let i = index\">\r\n        <ng-container [ngSwitch]=\"config.btnType\" *ngIf=\"handleFn(config.show)\">\r\n          <ng-container *ngSwitchCase=\"'stroked-button'\">\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              (click)=\"onToolbarEvent(config)\"\r\n              mat-stroked-button\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent1\"></ng-container>\r\n            </button>\r\n          </ng-container>\r\n          <ng-container *ngSwitchCase=\"'menu'\">\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              style=\"display: flex\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              mat-stroked-button\r\n              [matMenuTriggerFor]=\"menu\"\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent1\"></ng-container>\r\n            </button>\r\n            <mat-menu #menu=\"matMenu\">\r\n              <ng-container\r\n                *ngFor=\"let subconfig of config.submenuItems | async\"\r\n              >\r\n                <button\r\n                  *ngIf=\"!handleFn(subconfig.hide)\"\r\n                  (click)=\"onToolbarEvent(subconfig)\"\r\n                  [disabled]=\"handleFn(subconfig.disable)\"\r\n                  mat-menu-item\r\n                >\r\n                  <ng-container\r\n                    *ngTemplateOutlet=\"menuItemContent1\"\r\n                  ></ng-container>\r\n                </button>\r\n                <ng-template #menuItemContent1>\r\n                  <mat-icon\r\n                    *ngIf=\"\r\n                      subconfig.icon ||\r\n                      (handleFn(subconfig.disable) && subconfig.disableIcon)\r\n                    \"\r\n                    svgIcon=\"{{\r\n                      handleFn(subconfig.disable)\r\n                        ? subconfig.disableIcon\r\n                        : subconfig.icon\r\n                    }}\"\r\n                  ></mat-icon>\r\n                  <span>\r\n                    {{ subconfig.title }}\r\n                  </span>\r\n                </ng-template>\r\n              </ng-container>\r\n            </mat-menu>\r\n          </ng-container>\r\n          <ng-container *ngSwitchCase=\"'label'\">\r\n            <ng-container\r\n              (click)=\"onToolbarEvent(config)\"\r\n              *ngTemplateOutlet=\"labelContent1\"\r\n            ></ng-container>\r\n          </ng-container>\r\n          <ng-container *ngSwitchDefault>\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              (click)=\"onToolbarEvent(config)\"\r\n              mat-icon-button\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent1\"></ng-container>\r\n            </button>\r\n          </ng-container>\r\n        </ng-container>\r\n        <mat-divider\r\n          *ngIf=\"\r\n            handleFn(config.show) &&\r\n            config.hasDividerAfter &&\r\n            i != startConfigs.length - 1\r\n          \"\r\n          [vertical]=\"true\"\r\n        ></mat-divider>\r\n        <ng-template #buttonContent1>\r\n          <a class=\"item-box\">\r\n            <mat-icon\r\n              *ngIf=\"\r\n                handleFn(config.icon) ||\r\n                (handleFn(config.disable) && config.disableIcon)\r\n              \"\r\n              svgIcon=\"{{\r\n                handleFn(config.disable)\r\n                  ? config.disableIcon\r\n                  : handleFn(config.icon)\r\n              }}\"\r\n            ></mat-icon>\r\n            <span *ngIf=\"config.btnType != 'icon-button'\">\r\n              {{ handleFn(config.title) }}\r\n            </span>\r\n            <mat-icon class=\"drop_icon\" *ngIf=\"config.btnType == 'menu'\"\r\n              >arrow_drop_down</mat-icon\r\n            >\r\n          </a>\r\n        </ng-template>\r\n        <ng-template #labelContent1>\r\n          <a class=\"label-container\">\r\n            <mat-icon\r\n              *ngIf=\"\r\n                handleFn(config.icon) ||\r\n                (handleFn(config.disable) && config.disableIcon)\r\n              \"\r\n              svgIcon=\"{{\r\n                handleFn(config.disable)\r\n                  ? config.disableIcon\r\n                  : handleFn(config.icon)\r\n              }}\"\r\n            ></mat-icon>\r\n            <h5\r\n              class=\"label-type\"\r\n              [ngStyle]=\"config.styles ? config.styles : {}\"\r\n            >\r\n              {{ handleFn(config.title) }}\r\n            </h5>\r\n          </a>\r\n        </ng-template>\r\n      </ng-container>\r\n    </span>\r\n    <span class=\"toolbar-group\">\r\n      <ng-container *ngFor=\"let config of endConfigs; let i = index\">\r\n        <ng-container [ngSwitch]=\"config.btnType\" *ngIf=\"handleFn(config.show)\">\r\n          <ng-container *ngSwitchCase=\"'stroked-button'\">\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              (click)=\"onToolbarEvent(config)\"\r\n              mat-stroked-button\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent2\"></ng-container>\r\n            </button>\r\n          </ng-container>\r\n          <ng-container *ngSwitchCase=\"'menu'\">\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              style=\"display: flex\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              mat-stroked-button\r\n              [matMenuTriggerFor]=\"menu\"\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent2\"></ng-container>\r\n            </button>\r\n            <mat-menu #menu=\"matMenu\">\r\n              <ng-container\r\n                *ngFor=\"let subconfig of config.submenuItems | async\"\r\n              >\r\n                <button\r\n                  [matTooltip]=\"\r\n                    config.hideTooltip ? false : handleFn(config.title)\r\n                  \"\r\n                  *ngIf=\"!handleFn(subconfig.hide)\"\r\n                  (click)=\"onToolbarEvent(subconfig)\"\r\n                  [disabled]=\"handleFn(subconfig.disable)\"\r\n                  mat-menu-item\r\n                >\r\n                  <ng-container\r\n                    *ngTemplateOutlet=\"menuItemContent2\"\r\n                  ></ng-container>\r\n                </button>\r\n                <ng-template #menuItemContent2>\r\n                  <mat-icon\r\n                    *ngIf=\"\r\n                      subconfig.icon ||\r\n                      (handleFn(subconfig.disable) && subconfig.disableIcon)\r\n                    \"\r\n                    svgIcon=\"{{\r\n                      handleFn(subconfig.disable)\r\n                        ? subconfig.disableIcon\r\n                        : subconfig.icon\r\n                    }}\"\r\n                  ></mat-icon>\r\n                  <span>\r\n                    {{ subconfig.title }}\r\n                  </span>\r\n                </ng-template>\r\n              </ng-container>\r\n            </mat-menu>\r\n          </ng-container>\r\n          <ng-container *ngSwitchCase=\"'label'\">\r\n            <ng-container\r\n              (click)=\"onToolbarEvent(config)\"\r\n              *ngTemplateOutlet=\"labelContent2\"\r\n            ></ng-container>\r\n          </ng-container>\r\n          <ng-container *ngSwitchDefault>\r\n            <button\r\n              [matTooltip]=\"config.hideTooltip ? false : handleFn(config.title)\"\r\n              [disabled]=\"handleFn(config.disable)\"\r\n              (click)=\"onToolbarEvent(config)\"\r\n              mat-icon-button\r\n            >\r\n              <ng-container *ngTemplateOutlet=\"buttonContent2\"></ng-container>\r\n            </button>\r\n          </ng-container>\r\n        </ng-container>\r\n        <mat-divider\r\n          *ngIf=\"\r\n            handleFn(config.show) &&\r\n            config.hasDividerAfter &&\r\n            i != endConfigs.length - 1\r\n          \"\r\n          [vertical]=\"true\"\r\n        ></mat-divider>\r\n        <ng-template #buttonContent2>\r\n          <a class=\"item-box\">\r\n            <mat-icon\r\n              *ngIf=\"\r\n                handleFn(config.icon) ||\r\n                (handleFn(config.disable) && config.disableIcon)\r\n              \"\r\n              svgIcon=\"{{\r\n                handleFn(config.disable)\r\n                  ? config.disableIcon\r\n                  : handleFn(config.icon)\r\n              }}\"\r\n            ></mat-icon>\r\n            <span *ngIf=\"config.btnType != 'icon-button'\">\r\n              {{ handleFn(config.title) }}\r\n            </span>\r\n            <mat-icon class=\"drop_icon\" *ngIf=\"config.btnType == 'menu'\"\r\n              >arrow_drop_down</mat-icon\r\n            >\r\n          </a>\r\n        </ng-template>\r\n        <ng-template #labelContent2>\r\n          <a class=\"label-container\">\r\n            <mat-icon\r\n              *ngIf=\"\r\n                handleFn(config.icon) ||\r\n                (handleFn(config.disable) && config.disableIcon)\r\n              \"\r\n              svgIcon=\"{{\r\n                handleFn(config.disable)\r\n                  ? config.disableIcon\r\n                  : handleFn(config.icon)\r\n              }}\"\r\n            ></mat-icon>\r\n            <h5\r\n              class=\"label-type\"\r\n              [ngStyle]=\"config.styles ? config.styles : {}\"\r\n            >\r\n              {{ handleFn(config.title) }}\r\n            </h5>\r\n          </a>\r\n        </ng-template>\r\n      </ng-container>\r\n    </span>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { AdvanceToolbarComponent } from './advance-toolbar.component';\r\n@NgModule({\r\n  declarations: [AdvanceToolbarComponent],\r\n  imports: [\r\n    CommonModule,\r\n    MatMenuModule,\r\n    MatIconModule,\r\n    MatTooltipModule,\r\n    MatDividerModule,\r\n  ],\r\n  exports: [AdvanceToolbarComponent],\r\n})\r\nexport class AdvanceToolbarModule {}\r\n","/*\r\n * Public API Surface of tips-multi-column-select\r\n */\r\n\r\nexport * from './lib/advance-toolbar.component';\r\nexport * from './lib/advance-toolbar.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAQa,uBAAuB;IAIlC;QAHU,iBAAY,GAAsB,IAAI,YAAY,EAAO,CAAC;QAC3D,eAAU,GAA2B,EAAE,CAAC;QACxC,iBAAY,GAA2B,EAAE,CAAC;KACnC;IAEhB,QAAQ,MAAW;IAEnB,QAAQ,CAAC,EAAO;QACd,IAAI,OAAO,EAAE,IAAI,UAAU;YAAE,OAAO,EAAE,EAAE,CAAC;;YACpC,OAAO,EAAE,CAAC;KAChB;IAED,cAAc,CAAC,GAAQ;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChC;;oHAfU,uBAAuB;wGAAvB,uBAAuB,2KCRpC,u/TAiQA;2FDzPa,uBAAuB;kBALnC,SAAS;+BACE,sBAAsB;0EAKtB,YAAY;sBAArB,MAAM;gBACE,UAAU;sBAAlB,KAAK;gBACG,YAAY;sBAApB,KAAK;;;MEOK,oBAAoB;;iHAApB,oBAAoB;kHAApB,oBAAoB,iBAVhB,uBAAuB,aAEpC,YAAY;QACZ,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,gBAAgB,aAER,uBAAuB;kHAEtB,oBAAoB,YATtB;YACP,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,gBAAgB;SACjB;2FAGU,oBAAoB;kBAXhC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;oBACvC,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,gBAAgB;qBACjB;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC;;;ACjBD;;;;ACAA;;;;;;"}