@operato/data-grist 9.2.21 → 9.2.25

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-grist-editor-text-select.js","sourceRoot":"","sources":["../../../src/editors/ox-grist-editor-text-select.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { until } from 'lit/directives/until.js'\n\nimport { OxGristEditor } from './ox-grist-editor.js'\nimport { SelectOption, SelectOptionObject } from '../types.js'\n\nfunction toOptionObjects(options: SelectOption[]): SelectOptionObject[] {\n return options.map(option => {\n switch (typeof option) {\n case 'string':\n return { display: option, value: option }\n case 'object':\n return { display: option.display || option.name, value: option.value }\n default:\n return option\n }\n }) as SelectOptionObject[]\n}\n\n@customElement('ox-grist-editor-text-select')\nexport class OxGristEditorTextSelect extends OxGristEditor {\n static styles = [\n ...([OxGristEditor.styles].flat()),\n css`\n input {\n flex: 1;\n width: 100%;\n height: 100%;\n border: 0;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--md-sys-color-on-background);\n }\n\n input:focus {\n outline: none;\n }\n `\n ]\n\n @state() private _showDropdown: boolean = false\n @state() private _resolvedOptions: SelectOptionObject[] = []\n\n private _dropdownEl: HTMLDivElement | null = null\n\n get inlineEditable() {\n return true\n }\n\n get editorTemplate() {\n var rowOptionField = this.record[this.column.record.rowOptionField || '']\n var { options = [] } = rowOptionField ? rowOptionField : this.column.record\n\n if (typeof options == 'function') {\n options = options.call(null, this.value, this.column, this.record, this.rowIndex, this.field)\n\n if (options instanceof Promise) {\n return html`${until(\n options.then(opts => {\n this._resolvedOptions = toOptionObjects((opts || []) as SelectOption[])\n return this._buildTemplate()\n })\n )}`\n } else {\n this._resolvedOptions = toOptionObjects((options || []) as SelectOption[])\n return this._buildTemplate()\n }\n } else {\n this._resolvedOptions = toOptionObjects((options || []) as SelectOption[])\n return this._buildTemplate()\n }\n }\n\n private _buildTemplate() {\n return html`<input\n type=\"text\"\n .value=${this.value == null ? '' : this.value}\n @focus=${this._onInputFocus}\n @input=${this._onInputChange}\n />`\n }\n\n private _onInputFocus() {\n if (this._resolvedOptions.length > 0) {\n this._showFloatingDropdown()\n }\n }\n\n private _onInputChange(e: Event) {\n const value = (e.target as HTMLInputElement).value\n this._dirtyValue = this.formatFromEditor(value)\n }\n\n private _showFloatingDropdown() {\n this._removeFloatingDropdown()\n\n const rect = this.getBoundingClientRect()\n\n const dropdown = document.createElement('div')\n dropdown.style.cssText = `\n position: fixed;\n top: ${rect.bottom}px;\n left: ${rect.left}px;\n width: ${rect.width * 2}px;\n background: #fff;\n border: 1px solid #ccc;\n box-shadow: 0 4px 12px rgba(0,0,0,0.2);\n z-index: 99999;\n max-height: 200px;\n overflow-y: auto;\n border-radius: 0 0 4px 4px;\n `\n\n this._resolvedOptions.forEach(opt => {\n const item = document.createElement('div')\n item.textContent = String(opt.display || opt.value)\n item.style.cssText = `\n padding: 8px 12px;\n cursor: pointer;\n font-size: 13px;\n border-bottom: 1px solid #eee;\n `\n item.addEventListener('mouseenter', () => {\n item.style.backgroundColor = '#e3f2fd'\n })\n item.addEventListener('mouseleave', () => {\n item.style.backgroundColor = '#fff'\n })\n item.addEventListener('pointerdown', (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n this._selectOption(opt)\n })\n dropdown.appendChild(item)\n })\n\n document.body.appendChild(dropdown)\n this._dropdownEl = dropdown\n }\n\n private _selectOption(opt: SelectOptionObject) {\n this._removeFloatingDropdown()\n\n const newValue = this.formatFromEditor(opt.value)\n const { name = '' } = this.column\n const currentValue = this.record[name] || ''\n\n // input 값 갱신\n const input = this.renderRoot.querySelector('input') as HTMLInputElement\n if (input) {\n input.value = String(opt.value)\n }\n\n // field-change 직접 dispatch\n this._dirtyValue = newValue\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: currentValue,\n after: newValue,\n column: this.column,\n record: this.record,\n row: this.row\n }\n })\n )\n }\n\n private _removeFloatingDropdown() {\n if (this._dropdownEl) {\n this._dropdownEl.remove()\n this._dropdownEl = null\n }\n }\n\n override _onfocusout() {\n setTimeout(() => {\n this._removeFloatingDropdown()\n super._onfocusout()\n }, 150)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this._removeFloatingDropdown()\n }\n}\n"]}
@@ -20,6 +20,7 @@ import { OxGristEditorVarname } from './ox-grist-editor-varname.js';
20
20
  import { OxGristEditorJson5 } from './ox-grist-editor-json5.js';
21
21
  import { OxGristEditorTimezone } from './ox-grist-editor-timezone.js';
22
22
  import { OxGristEditorSecret } from './ox-grist-editor-secret.js';
23
+ import { OxGristEditorTextSelect } from './ox-grist-editor-text-select.js';
23
24
  var EDITORS = {
24
25
  string: OxGristEditorText,
25
26
  text: OxGristEditorText,
@@ -48,7 +49,8 @@ var EDITORS = {
48
49
  varname: OxGristEditorVarname,
49
50
  json5: OxGristEditorJson5,
50
51
  timezone: OxGristEditorTimezone,
51
- secret: OxGristEditorSecret
52
+ secret: OxGristEditorSecret,
53
+ 'text-select': OxGristEditorTextSelect
52
54
  };
53
55
  export function registerEditor(type, editor) {
54
56
  EDITORS[type] = editor;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/editors/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,IAAI,OAAO,GAAkD;IAC3D,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,GAAG,EAAE,gBAAgB;IACrB,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,mBAAmB;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,2BAA2B;IACvC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,qBAAqB;IAC/B,MAAM,EAAE,mBAAmB;CAC5B,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAiC;IAC5E,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,UAAU,KAAU,EAAE,MAAoB,EAAE,MAAmB,EAAE,QAAgB,EAAE,KAAoB;QAC5G,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAA;QAExD,IAAI,OAAO,GAAG,IAAI,KAAK,EAAE,CAAA;QAEzB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QACrB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QACvB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QACvB,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAA;QACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAErB,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, FieldEditor, GristRecord } from '../types.js'\nimport { OxGristEditor } from './ox-grist-editor.js'\nimport { OxGristEditorCheckbox } from './ox-grist-editor-checkbox.js'\nimport { OxGristEditorColor } from './ox-grist-editor-color.js'\nimport { OxGristEditorDate } from './ox-grist-editor-date.js'\nimport { OxGristEditorDateTime } from './ox-grist-editor-datetime.js'\nimport { OxGristEditorEmail } from './ox-grist-editor-email.js'\nimport { OxGristEditorFile } from './ox-grist-editor-file.js'\nimport { OxGristEditorImage } from './ox-grist-editor-image.js'\nimport { OxGristEditorMonth } from './ox-grist-editor-month.js'\nimport { OxGristEditorMultipleSelect } from './ox-grist-editor-multiple-select.js'\nimport { OxGristEditorNumber } from './ox-grist-editor-number.js'\nimport { OxGristEditorPassword } from './ox-grist-editor-password.js'\nimport { OxGristEditorSelect } from './ox-grist-editor-select.js'\nimport { OxGristEditorTel } from './ox-grist-editor-tel.js'\nimport { OxGristEditorText } from './ox-grist-editor-text.js'\nimport { OxGristEditorTextarea } from './ox-grist-editor-textarea.js'\nimport { OxGristEditorTime } from './ox-grist-editor-time.js'\nimport { OxGristEditorTree } from './ox-grist-editor-tree.js'\nimport { OxGristEditorWeek } from './ox-grist-editor-week.js'\nimport { OxGristEditorVarname } from './ox-grist-editor-varname.js'\nimport { OxGristEditorJson5 } from './ox-grist-editor-json5.js'\nimport { OxGristEditorTimezone } from './ox-grist-editor-timezone.js'\nimport { OxGristEditorSecret } from './ox-grist-editor-secret.js'\n\nvar EDITORS: { [name: string]: { new (): OxGristEditor } } = {\n string: OxGristEditorText,\n text: OxGristEditorText,\n textarea: OxGristEditorTextarea,\n email: OxGristEditorEmail,\n tel: OxGristEditorTel,\n password: OxGristEditorPassword,\n integer: OxGristEditorNumber,\n float: OxGristEditorNumber,\n number: OxGristEditorNumber,\n select: OxGristEditorSelect,\n boolean: OxGristEditorCheckbox,\n checkbox: OxGristEditorCheckbox,\n month: OxGristEditorMonth,\n week: OxGristEditorWeek,\n date: OxGristEditorDate,\n time: OxGristEditorTime,\n datetime: OxGristEditorDateTime,\n color: OxGristEditorColor,\n progress: OxGristEditorNumber,\n link: OxGristEditorText,\n image: OxGristEditorImage,\n file: OxGristEditorFile,\n 'string[]': OxGristEditorMultipleSelect,\n tree: OxGristEditorTree,\n varname: OxGristEditorVarname,\n json5: OxGristEditorJson5,\n timezone: OxGristEditorTimezone,\n secret: OxGristEditorSecret\n}\n\nexport function registerEditor(type: string, editor: { new (): OxGristEditor }) {\n EDITORS[type] = editor\n}\n\nexport function unregisterEditor(type: string) {\n delete EDITORS[type]\n}\n\nexport function getEditors(): { [name: string]: { new (): OxGristEditor } } {\n return { ...EDITORS }\n}\n\nexport function getEditor(type: string): FieldEditor {\n if (typeof type == 'function') {\n return type\n }\n\n return function (value: any, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) {\n var clazz = EDITORS[type || 'text'] || OxGristEditorText\n\n var element = new clazz()\n\n element.value = value\n element.record = record\n element.column = column\n element.row = rowIndex\n element.field = field\n\n return element\n }\n}\n"]}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/editors/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field.js'\nimport { ColumnConfig, FieldEditor, GristRecord } from '../types.js'\nimport { OxGristEditor } from './ox-grist-editor.js'\nimport { OxGristEditorCheckbox } from './ox-grist-editor-checkbox.js'\nimport { OxGristEditorColor } from './ox-grist-editor-color.js'\nimport { OxGristEditorDate } from './ox-grist-editor-date.js'\nimport { OxGristEditorDateTime } from './ox-grist-editor-datetime.js'\nimport { OxGristEditorEmail } from './ox-grist-editor-email.js'\nimport { OxGristEditorFile } from './ox-grist-editor-file.js'\nimport { OxGristEditorImage } from './ox-grist-editor-image.js'\nimport { OxGristEditorMonth } from './ox-grist-editor-month.js'\nimport { OxGristEditorMultipleSelect } from './ox-grist-editor-multiple-select.js'\nimport { OxGristEditorNumber } from './ox-grist-editor-number.js'\nimport { OxGristEditorPassword } from './ox-grist-editor-password.js'\nimport { OxGristEditorSelect } from './ox-grist-editor-select.js'\nimport { OxGristEditorTel } from './ox-grist-editor-tel.js'\nimport { OxGristEditorText } from './ox-grist-editor-text.js'\nimport { OxGristEditorTextarea } from './ox-grist-editor-textarea.js'\nimport { OxGristEditorTime } from './ox-grist-editor-time.js'\nimport { OxGristEditorTree } from './ox-grist-editor-tree.js'\nimport { OxGristEditorWeek } from './ox-grist-editor-week.js'\nimport { OxGristEditorVarname } from './ox-grist-editor-varname.js'\nimport { OxGristEditorJson5 } from './ox-grist-editor-json5.js'\nimport { OxGristEditorTimezone } from './ox-grist-editor-timezone.js'\nimport { OxGristEditorSecret } from './ox-grist-editor-secret.js'\nimport { OxGristEditorTextSelect } from './ox-grist-editor-text-select.js'\n\nvar EDITORS: { [name: string]: { new (): OxGristEditor } } = {\n string: OxGristEditorText,\n text: OxGristEditorText,\n textarea: OxGristEditorTextarea,\n email: OxGristEditorEmail,\n tel: OxGristEditorTel,\n password: OxGristEditorPassword,\n integer: OxGristEditorNumber,\n float: OxGristEditorNumber,\n number: OxGristEditorNumber,\n select: OxGristEditorSelect,\n boolean: OxGristEditorCheckbox,\n checkbox: OxGristEditorCheckbox,\n month: OxGristEditorMonth,\n week: OxGristEditorWeek,\n date: OxGristEditorDate,\n time: OxGristEditorTime,\n datetime: OxGristEditorDateTime,\n color: OxGristEditorColor,\n progress: OxGristEditorNumber,\n link: OxGristEditorText,\n image: OxGristEditorImage,\n file: OxGristEditorFile,\n 'string[]': OxGristEditorMultipleSelect,\n tree: OxGristEditorTree,\n varname: OxGristEditorVarname,\n json5: OxGristEditorJson5,\n timezone: OxGristEditorTimezone,\n secret: OxGristEditorSecret,\n 'text-select': OxGristEditorTextSelect\n}\n\nexport function registerEditor(type: string, editor: { new (): OxGristEditor }) {\n EDITORS[type] = editor\n}\n\nexport function unregisterEditor(type: string) {\n delete EDITORS[type]\n}\n\nexport function getEditors(): { [name: string]: { new (): OxGristEditor } } {\n return { ...EDITORS }\n}\n\nexport function getEditor(type: string): FieldEditor {\n if (typeof type == 'function') {\n return type\n }\n\n return function (value: any, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) {\n var clazz = EDITORS[type || 'text'] || OxGristEditorText\n\n var element = new clazz()\n\n element.value = value\n element.record = record\n element.column = column\n element.row = rowIndex\n element.field = field\n\n return element\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { FieldRenderer } from '../types.js';
2
+ export declare const OxGristRendererTextSelect: FieldRenderer;
@@ -0,0 +1,6 @@
1
+ import { html } from 'lit';
2
+ export const OxGristRendererTextSelect = (value, column, record, rowIndex, field) => {
3
+ var text = value == null ? '' : value;
4
+ return html `<span data-reactive-tooltip>${text}</span>`;
5
+ };
6
+ //# sourceMappingURL=ox-grist-renderer-text-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-grist-renderer-text-select.js","sourceRoot":"","sources":["../../../src/renderers/ox-grist-renderer-text-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAI1B,MAAM,CAAC,MAAM,yBAAyB,GAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IACjG,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IACrC,OAAO,IAAI,CAAA,+BAA+B,IAAI,SAAS,CAAA;AACzD,CAAC,CAAA","sourcesContent":["import { html } from 'lit'\n\nimport { FieldRenderer } from '../types.js'\n\nexport const OxGristRendererTextSelect: FieldRenderer = (value, column, record, rowIndex, field) => {\n var text = value == null ? '' : value\n return html`<span data-reactive-tooltip>${text}</span>`\n}\n"]}
@@ -12,6 +12,7 @@ import { OxGristRendererSelect } from './ox-grist-renderer-select.js';
12
12
  import { OxGristRendererText } from './ox-grist-renderer-text.js';
13
13
  import { OxGristRendererTextarea } from './ox-grist-renderer-textarea.js';
14
14
  import { OxGristRendererTree } from './ox-grist-renderer-tree.js';
15
+ import { OxGristRendererTextSelect } from './ox-grist-renderer-text-select.js';
15
16
  function isClass(func) {
16
17
  return typeof func === 'function' && /^class\s/.test(Function.prototype.toString.call(func));
17
18
  }
@@ -40,7 +41,8 @@ var RENDERERS = {
40
41
  image: OxGristRendererImage,
41
42
  file: OxGristRendererFile,
42
43
  json5: OxGristRendererJson5,
43
- tree: OxGristRendererTree
44
+ tree: OxGristRendererTree,
45
+ 'text-select': OxGristRendererTextSelect
44
46
  };
45
47
  export function registerRenderer(type, renderer) {
46
48
  RENDERERS[type] = renderer;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/renderers/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataCardField } from '../data-card/data-card-field.js'\nimport { DataCardGutter } from '../data-card/data-card-gutter.js'\nimport { RecordCard } from '../data-card/record-card.js'\nimport { DataGridField } from '../data-grid/data-grid-field.js'\nimport { DataListField } from '../data-list/data-list-field.js'\nimport { DataListGutter } from '../data-list/data-list-gutter.js'\nimport { RecordPartial } from '../data-list/record-partial.js'\nimport { DataReportField } from '../data-report/data-report-field.js'\nimport { ColumnConfig, FieldRenderer, GristRecord } from '../types.js'\nimport { OxGristRendererBoolean } from './ox-grist-renderer-boolean.js'\nimport { OxGristRendererColor } from './ox-grist-renderer-color.js'\nimport { OxGristRendererDate } from './ox-grist-renderer-date.js'\nimport { OxGristRendererFile } from './ox-grist-renderer-file.js'\nimport { OxGristRendererImage } from './ox-grist-renderer-image.js'\nimport { OxGristRendererJson5 } from './ox-grist-renderer-json5.js'\nimport { OxGristRendererLink } from './ox-grist-renderer-link.js'\nimport { OxGristRendererPassword } from './ox-grist-renderer-password.js'\nimport { OxGristRendererProgress } from './ox-grist-renderer-progress.js'\nimport { OxGristRendererSecret } from './ox-grist-renderer-secret.js'\nimport { OxGristRendererSelect } from './ox-grist-renderer-select.js'\nimport { OxGristRendererText } from './ox-grist-renderer-text.js'\nimport { OxGristRendererTextarea } from './ox-grist-renderer-textarea.js'\nimport { OxGristRendererTree } from './ox-grist-renderer-tree.js'\nimport { OxGristRenderer } from './ox-grist-renderer.js'\n\ninterface OxGristRendererConstructor {\n new (): OxGristRenderer\n}\n\nfunction isClass(func: Function) {\n return typeof func === 'function' && /^class\\s/.test(Function.prototype.toString.call(func))\n}\n\nvar RENDERERS: {\n [name: string]: FieldRenderer | OxGristRendererConstructor\n} = {\n string: OxGristRendererText,\n text: OxGristRendererText,\n textarea: OxGristRendererTextarea,\n email: OxGristRendererText,\n tel: OxGristRendererText,\n password: OxGristRendererPassword,\n secret: OxGristRendererSecret,\n integer: OxGristRendererText,\n float: OxGristRendererText,\n number: OxGristRendererText,\n select: OxGristRendererSelect,\n boolean: OxGristRendererBoolean,\n checkbox: OxGristRendererBoolean,\n month: OxGristRendererText,\n week: OxGristRendererText,\n date: OxGristRendererDate,\n time: OxGristRendererDate,\n datetime: OxGristRendererDate,\n color: OxGristRendererColor,\n progress: OxGristRendererProgress,\n link: OxGristRendererLink,\n image: OxGristRendererImage,\n file: OxGristRendererFile,\n json5: OxGristRendererJson5,\n tree: OxGristRendererTree\n}\n\nexport function registerRenderer(type: string, renderer: FieldRenderer) {\n RENDERERS[type] = renderer\n}\n\nexport function unregisterRenderer(type: string): void {\n delete RENDERERS[type]\n}\n\nexport function getRenderers(): { [name: string]: FieldRenderer | OxGristRendererConstructor } {\n return { ...RENDERERS }\n}\n\nexport function getRenderer(type: string | FieldRenderer): FieldRenderer {\n if (typeof type === 'function') {\n return type\n }\n\n var renderer: FieldRenderer | OxGristRendererConstructor = RENDERERS[type || 'text'] || OxGristRendererText\n\n if (!isClass(renderer)) {\n return renderer as FieldRenderer\n }\n\n return function (\n value: any,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field:\n | DataGridField\n | RecordCard\n | DataCardGutter\n | DataCardField\n | DataListGutter\n | DataListField\n | RecordPartial\n | DataReportField\n | Element\n ) {\n var element: OxGristRenderer = new (renderer as OxGristRendererConstructor)() as any\n\n element.value = value\n element.record = record\n element.column = column\n element.row = rowIndex\n element.field = field as DataGridField\n\n return element as OxGristRenderer\n }\n}\n"]}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/renderers/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataCardField } from '../data-card/data-card-field.js'\nimport { DataCardGutter } from '../data-card/data-card-gutter.js'\nimport { RecordCard } from '../data-card/record-card.js'\nimport { DataGridField } from '../data-grid/data-grid-field.js'\nimport { DataListField } from '../data-list/data-list-field.js'\nimport { DataListGutter } from '../data-list/data-list-gutter.js'\nimport { RecordPartial } from '../data-list/record-partial.js'\nimport { DataReportField } from '../data-report/data-report-field.js'\nimport { ColumnConfig, FieldRenderer, GristRecord } from '../types.js'\nimport { OxGristRendererBoolean } from './ox-grist-renderer-boolean.js'\nimport { OxGristRendererColor } from './ox-grist-renderer-color.js'\nimport { OxGristRendererDate } from './ox-grist-renderer-date.js'\nimport { OxGristRendererFile } from './ox-grist-renderer-file.js'\nimport { OxGristRendererImage } from './ox-grist-renderer-image.js'\nimport { OxGristRendererJson5 } from './ox-grist-renderer-json5.js'\nimport { OxGristRendererLink } from './ox-grist-renderer-link.js'\nimport { OxGristRendererPassword } from './ox-grist-renderer-password.js'\nimport { OxGristRendererProgress } from './ox-grist-renderer-progress.js'\nimport { OxGristRendererSecret } from './ox-grist-renderer-secret.js'\nimport { OxGristRendererSelect } from './ox-grist-renderer-select.js'\nimport { OxGristRendererText } from './ox-grist-renderer-text.js'\nimport { OxGristRendererTextarea } from './ox-grist-renderer-textarea.js'\nimport { OxGristRendererTree } from './ox-grist-renderer-tree.js'\nimport { OxGristRenderer } from './ox-grist-renderer.js'\nimport { OxGristRendererTextSelect } from './ox-grist-renderer-text-select.js'\n\ninterface OxGristRendererConstructor {\n new (): OxGristRenderer\n}\n\nfunction isClass(func: Function) {\n return typeof func === 'function' && /^class\\s/.test(Function.prototype.toString.call(func))\n}\n\nvar RENDERERS: {\n [name: string]: FieldRenderer | OxGristRendererConstructor\n} = {\n string: OxGristRendererText,\n text: OxGristRendererText,\n textarea: OxGristRendererTextarea,\n email: OxGristRendererText,\n tel: OxGristRendererText,\n password: OxGristRendererPassword,\n secret: OxGristRendererSecret,\n integer: OxGristRendererText,\n float: OxGristRendererText,\n number: OxGristRendererText,\n select: OxGristRendererSelect,\n boolean: OxGristRendererBoolean,\n checkbox: OxGristRendererBoolean,\n month: OxGristRendererText,\n week: OxGristRendererText,\n date: OxGristRendererDate,\n time: OxGristRendererDate,\n datetime: OxGristRendererDate,\n color: OxGristRendererColor,\n progress: OxGristRendererProgress,\n link: OxGristRendererLink,\n image: OxGristRendererImage,\n file: OxGristRendererFile,\n json5: OxGristRendererJson5,\n tree: OxGristRendererTree,\n 'text-select': OxGristRendererTextSelect\n}\n\nexport function registerRenderer(type: string, renderer: FieldRenderer) {\n RENDERERS[type] = renderer\n}\n\nexport function unregisterRenderer(type: string): void {\n delete RENDERERS[type]\n}\n\nexport function getRenderers(): { [name: string]: FieldRenderer | OxGristRendererConstructor } {\n return { ...RENDERERS }\n}\n\nexport function getRenderer(type: string | FieldRenderer): FieldRenderer {\n if (typeof type === 'function') {\n return type\n }\n\n var renderer: FieldRenderer | OxGristRendererConstructor = RENDERERS[type || 'text'] || OxGristRendererText\n\n if (!isClass(renderer)) {\n return renderer as FieldRenderer\n }\n\n return function (\n value: any,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field:\n | DataGridField\n | RecordCard\n | DataCardGutter\n | DataCardField\n | DataListGutter\n | DataListField\n | RecordPartial\n | DataReportField\n | Element\n ) {\n var element: OxGristRenderer = new (renderer as OxGristRendererConstructor)() as any\n\n element.value = value\n element.record = record\n element.column = column\n element.row = rowIndex\n element.field = field as DataGridField\n\n return element as OxGristRenderer\n }\n}\n"]}