How to use the @pebula/ngrid.PblNgridPluginController.find function in @pebula/ngrid

To help you get started, we’ve selected a few @pebula/ngrid examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github shlomiassaf / ngrid / libs / ngrid / detail-row / src / lib / detail-row / row.ts View on Github external
ngOnInit(): void {
    const controller = PblNgridPluginController.find(this.extApi.grid);
    this.plugin = controller.getPlugin(PLUGIN_KEY); // TODO: THROW IF NO PLUGIN...
    this.plugin.addDetailRow(this);
    const tradeEvents = controller.getPlugin('targetEvents');
    tradeEvents.cellClick
      .pipe(UnRx(this))
      .subscribe( event => {
        if (event.type === 'data' && event.row === this.context.$implicit) {
          const { excludeToggleFrom } = this.plugin;
          if (!excludeToggleFrom || !excludeToggleFrom.some( c => event.column.id === c )) {
            this.toggle();
          }
        }
      });

    tradeEvents.rowClick
      .pipe(UnRx(this))
github shlomiassaf / ngrid / libs / ngrid / drag / src / lib / drag-and-drop / column / cell-dragger-ref.ts View on Github external
shouldRender(context: PblNgridDataHeaderExtensionContext): boolean {
    // We dont check for `context.col.reorder` because even if a specific column does not "reorder" we still need to render the cdk-drag
    // so the cdk-drop-list will be aware of this item, so if another item does reorder it will be able to move while taking this element into consideration.
    // I.E: It doesn't reorder but it's part of the playground.
    //
    // However, when the plugin does not exists for this table we don't need to render...

    const pluginCtrl = PblNgridPluginController.find(context.grid);
    return pluginCtrl.hasPlugin(PLUGIN_KEY);
  }
}
github shlomiassaf / ngrid / libs / ngrid / overlay-panel / src / lib / overlay-panel.service.ts View on Github external
constructor(private _overlay: Overlay,
              private _dir: Directionality,
              public readonly grid: PblNgridComponent) {
    const controller = PblNgridPluginController.find(grid);
    this.injector = controller.injector;
    this.vcRef = controller.injector.get(ViewContainerRef);
    this._scrollStrategy = () => _overlay.scrollStrategies.reposition();
  }
github shlomiassaf / ngrid / libs / ngrid / clipboard / src / lib / clipboard.plugin.ts View on Github external
static create(grid: PblNgridComponent, injector: Injector): PblNgridClipboardPlugin {
    const pluginCtrl = PblNgridPluginController.find(grid);
    return new PblNgridClipboardPlugin(grid, injector, pluginCtrl);
  }
github shlomiassaf / ngrid / libs / ngrid / detail-row / src / lib / detail-row / detail-row-plugin.ts View on Github external
export function toggleDetailRow(grid: PblNgridComponent, row: T, forceState?: boolean): boolean | void {
  const controller = PblNgridPluginController.find(grid);
  if (controller) {
    const plugin = controller.getPlugin(PLUGIN_KEY);
    if (plugin) {
      return plugin.toggleDetailRow(row, forceState);
    }
  }
}
github shlomiassaf / ngrid / libs / ngrid / target-events / src / lib / target-events / target-events-plugin.ts View on Github external
static create(table: PblNgridComponent, injector: Injector): PblNgridTargetEventsPlugin {
    const pluginCtrl = PblNgridPluginController.find(table);
    return new PblNgridTargetEventsPlugin(table, injector, pluginCtrl);
  }
github shlomiassaf / ngrid / libs / ngrid / state / src / lib / state-plugin.ts View on Github external
static create(table: PblNgridComponent, injector: Injector): PblNgridStatePlugin {
    const pluginCtrl = PblNgridPluginController.find(table);
    return new PblNgridStatePlugin(table, injector, pluginCtrl);
  }
github shlomiassaf / ngrid / libs / ngrid / drag / src / lib / drag-and-drop / column / column-reorder-plugin.ts View on Github external
@Input('pblNgridColumnDrag') set context(value: Pick, 'col' | 'grid'> & Partial, 'row' | 'value'>>) {
    this._context = value;
    this.column = value && value.col;
    const pluginCtrl = this.pluginCtrl = value && PblNgridPluginController.find(value.grid);
    const plugin = pluginCtrl && pluginCtrl.getPlugin(PLUGIN_KEY);
    this.cdkDropList = plugin || undefined;
    this.disabled = this.column && this.column.reorder ? false : true;
  }
github shlomiassaf / ngrid / libs / ngrid / drag / src / lib / drag-and-drop / row / row-reorder-plugin.ts View on Github external
@Input('pblNgridRowDrag') set context(value: Pick, 'col' | 'grid'> & Partial, 'row' | 'value'>>) {
    this._context = value;

    const pluginCtrl = this.pluginCtrl = value && PblNgridPluginController.find(value.grid);
    const plugin = pluginCtrl && pluginCtrl.getPlugin(PLUGIN_KEY);
    this.cdkDropList = plugin || undefined;
  }
github shlomiassaf / ngrid / libs / ngrid-material / cell-tooltip / src / lib / cell-tooltip.directive.ts View on Github external
static create(table: PblNgridComponent, injector: Injector): PblNgridCellTooltipDirective {
    return new PblNgridCellTooltipDirective(table, injector, PblNgridPluginController.find(table));
  }