@welldot/vue 0.0.0-stage → 0.1.1
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.
- package/LICENSE +202 -0
- package/README.md +563 -2
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/_virtual/icons/ph/caret-down.js +21 -0
- package/dist/_virtual/icons/ph/caret-down.js.map +1 -0
- package/dist/_virtual/icons/ph/info.js +21 -0
- package/dist/_virtual/icons/ph/info.js.map +1 -0
- package/dist/_virtual/icons/ph/pencil-simple-line.js +21 -0
- package/dist/_virtual/icons/ph/pencil-simple-line.js.map +1 -0
- package/dist/_virtual/icons/ph/pencil-simple.js +21 -0
- package/dist/_virtual/icons/ph/pencil-simple.js.map +1 -0
- package/dist/_virtual/icons/ph/plus.js +21 -0
- package/dist/_virtual/icons/ph/plus.js.map +1 -0
- package/dist/_virtual/icons/ph/x.js +21 -0
- package/dist/_virtual/icons/ph/x.js.map +1 -0
- package/dist/components/WellChip.d.ts +30 -0
- package/dist/components/WellChip.d.ts.map +1 -0
- package/dist/components/WellChip.js +9 -0
- package/dist/components/WellChip.js.map +1 -0
- package/dist/components/WellChip.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/WellChip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellComboSelect.d.ts +19 -0
- package/dist/components/WellComboSelect.d.ts.map +1 -0
- package/dist/components/WellComboSelect.js +7 -0
- package/dist/components/WellComboSelect.js.map +1 -0
- package/dist/components/WellComboSelect.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/WellComboSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellInfoPopover.d.ts +31 -0
- package/dist/components/WellInfoPopover.d.ts.map +1 -0
- package/dist/components/WellInfoPopover.js +7 -0
- package/dist/components/WellInfoPopover.js.map +1 -0
- package/dist/components/WellInfoPopover.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/WellInfoPopover.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellInputNumber.d.ts +4 -0
- package/dist/components/WellInputNumber.d.ts.map +1 -0
- package/dist/components/WellInputNumber.js +7 -0
- package/dist/components/WellInputNumber.js.map +1 -0
- package/dist/components/WellInputNumber.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/WellInputNumber.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellLabeledField.d.ts +22 -0
- package/dist/components/WellLabeledField.d.ts.map +1 -0
- package/dist/components/WellLabeledField.js +7 -0
- package/dist/components/WellLabeledField.js.map +1 -0
- package/dist/components/WellLabeledField.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/WellLabeledField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellTagSelect.d.ts +21 -0
- package/dist/components/WellTagSelect.d.ts.map +1 -0
- package/dist/components/WellTagSelect.js +7 -0
- package/dist/components/WellTagSelect.js.map +1 -0
- package/dist/components/WellTagSelect.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/WellTagSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellTextureSelect.d.ts +30 -0
- package/dist/components/WellTextureSelect.d.ts.map +1 -0
- package/dist/components/WellTextureSelect.js +7 -0
- package/dist/components/WellTextureSelect.js.map +1 -0
- package/dist/components/WellTextureSelect.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/components/WellTextureSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellTextureThumbnail.d.ts +10 -0
- package/dist/components/WellTextureThumbnail.d.ts.map +1 -0
- package/dist/components/WellTextureThumbnail.js +9 -0
- package/dist/components/WellTextureThumbnail.js.map +1 -0
- package/dist/components/WellTextureThumbnail.vue_vue_type_script_setup_true_lang.js +393 -0
- package/dist/components/WellTextureThumbnail.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/WellUnitInput.d.ts +19 -0
- package/dist/components/WellUnitInput.d.ts.map +1 -0
- package/dist/components/WellUnitInput.js +7 -0
- package/dist/components/WellUnitInput.js.map +1 -0
- package/dist/components/WellUnitInput.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/WellUnitInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/parts/WellInfoTrigger.d.ts +8 -0
- package/dist/components/parts/WellInfoTrigger.d.ts.map +1 -0
- package/dist/components/parts/WellInfoTrigger.js +7 -0
- package/dist/components/parts/WellInfoTrigger.js.map +1 -0
- package/dist/components/parts/WellInfoTrigger.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/parts/WellInfoTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composables/useWellNumberFormat.d.ts +12 -0
- package/dist/composables/useWellNumberFormat.d.ts.map +1 -0
- package/dist/composables/useWellNumberFormat.js +25 -0
- package/dist/composables/useWellNumberFormat.js.map +1 -0
- package/dist/composables/useWellText.d.ts +11 -0
- package/dist/composables/useWellText.d.ts.map +1 -0
- package/dist/composables/useWellText.js +15 -0
- package/dist/composables/useWellText.js.map +1 -0
- package/dist/composables/useWellUnits.d.ts +29 -0
- package/dist/composables/useWellUnits.d.ts.map +1 -0
- package/dist/composables/useWellUnits.js +52 -0
- package/dist/composables/useWellUnits.js.map +1 -0
- package/dist/config.d.ts +110 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +76 -0
- package/dist/config.js.map +1 -0
- package/dist/grid/WellDataGrid.d.ts +34 -0
- package/dist/grid/WellDataGrid.d.ts.map +1 -0
- package/dist/grid/WellDataGrid.js +9 -0
- package/dist/grid/WellDataGrid.js.map +1 -0
- package/dist/grid/WellDataGrid.vue_vue_type_script_setup_true_lang.js +87 -0
- package/dist/grid/WellDataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridCheckboxCell.d.ts +10 -0
- package/dist/grid/cells/GridCheckboxCell.d.ts.map +1 -0
- package/dist/grid/cells/GridCheckboxCell.js +7 -0
- package/dist/grid/cells/GridCheckboxCell.js.map +1 -0
- package/dist/grid/cells/GridCheckboxCell.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/grid/cells/GridCheckboxCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridColorCell.d.ts +7 -0
- package/dist/grid/cells/GridColorCell.d.ts.map +1 -0
- package/dist/grid/cells/GridColorCell.js +7 -0
- package/dist/grid/cells/GridColorCell.js.map +1 -0
- package/dist/grid/cells/GridColorCell.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/grid/cells/GridColorCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridColorPickerEditor.d.ts +12 -0
- package/dist/grid/cells/GridColorPickerEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridColorPickerEditor.js +7 -0
- package/dist/grid/cells/GridColorPickerEditor.js.map +1 -0
- package/dist/grid/cells/GridColorPickerEditor.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/grid/cells/GridColorPickerEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridComboEditor.d.ts +14 -0
- package/dist/grid/cells/GridComboEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridComboEditor.js +7 -0
- package/dist/grid/cells/GridComboEditor.js.map +1 -0
- package/dist/grid/cells/GridComboEditor.vue_vue_type_script_setup_true_lang.js +177 -0
- package/dist/grid/cells/GridComboEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridDeleteCell.d.ts +12 -0
- package/dist/grid/cells/GridDeleteCell.d.ts.map +1 -0
- package/dist/grid/cells/GridDeleteCell.js +7 -0
- package/dist/grid/cells/GridDeleteCell.js.map +1 -0
- package/dist/grid/cells/GridDeleteCell.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/grid/cells/GridDeleteCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridDragCell.d.ts +16 -0
- package/dist/grid/cells/GridDragCell.d.ts.map +1 -0
- package/dist/grid/cells/GridDragCell.js +7 -0
- package/dist/grid/cells/GridDragCell.js.map +1 -0
- package/dist/grid/cells/GridDragCell.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/grid/cells/GridDragCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridFormattedCell.d.ts +9 -0
- package/dist/grid/cells/GridFormattedCell.d.ts.map +1 -0
- package/dist/grid/cells/GridFormattedCell.js +7 -0
- package/dist/grid/cells/GridFormattedCell.js.map +1 -0
- package/dist/grid/cells/GridFormattedCell.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/grid/cells/GridFormattedCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridHeaderCell.d.ts +11 -0
- package/dist/grid/cells/GridHeaderCell.d.ts.map +1 -0
- package/dist/grid/cells/GridHeaderCell.js +7 -0
- package/dist/grid/cells/GridHeaderCell.js.map +1 -0
- package/dist/grid/cells/GridHeaderCell.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/grid/cells/GridHeaderCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridNumberEditor.d.ts +9 -0
- package/dist/grid/cells/GridNumberEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridNumberEditor.js +7 -0
- package/dist/grid/cells/GridNumberEditor.js.map +1 -0
- package/dist/grid/cells/GridNumberEditor.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/grid/cells/GridNumberEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridSelectButtonCell.d.ts +12 -0
- package/dist/grid/cells/GridSelectButtonCell.d.ts.map +1 -0
- package/dist/grid/cells/GridSelectButtonCell.js +7 -0
- package/dist/grid/cells/GridSelectButtonCell.js.map +1 -0
- package/dist/grid/cells/GridSelectButtonCell.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/grid/cells/GridSelectButtonCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridSelectCell.d.ts +9 -0
- package/dist/grid/cells/GridSelectCell.d.ts.map +1 -0
- package/dist/grid/cells/GridSelectCell.js +7 -0
- package/dist/grid/cells/GridSelectCell.js.map +1 -0
- package/dist/grid/cells/GridSelectCell.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/grid/cells/GridSelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridSelectEditor.d.ts +11 -0
- package/dist/grid/cells/GridSelectEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridSelectEditor.js +7 -0
- package/dist/grid/cells/GridSelectEditor.js.map +1 -0
- package/dist/grid/cells/GridSelectEditor.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/grid/cells/GridSelectEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridTextEditor.d.ts +9 -0
- package/dist/grid/cells/GridTextEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridTextEditor.js +7 -0
- package/dist/grid/cells/GridTextEditor.js.map +1 -0
- package/dist/grid/cells/GridTextEditor.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/grid/cells/GridTextEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridTextureSelectCell.d.ts +7 -0
- package/dist/grid/cells/GridTextureSelectCell.d.ts.map +1 -0
- package/dist/grid/cells/GridTextureSelectCell.js +7 -0
- package/dist/grid/cells/GridTextureSelectCell.js.map +1 -0
- package/dist/grid/cells/GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/grid/cells/GridTextureSelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridTextureSelectEditor.d.ts +13 -0
- package/dist/grid/cells/GridTextureSelectEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridTextureSelectEditor.js +7 -0
- package/dist/grid/cells/GridTextureSelectEditor.js.map +1 -0
- package/dist/grid/cells/GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/grid/cells/GridTextureSelectEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridUnitCell.d.ts +9 -0
- package/dist/grid/cells/GridUnitCell.d.ts.map +1 -0
- package/dist/grid/cells/GridUnitCell.js +7 -0
- package/dist/grid/cells/GridUnitCell.js.map +1 -0
- package/dist/grid/cells/GridUnitCell.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/grid/cells/GridUnitCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/cells/GridUnitEditor.d.ts +11 -0
- package/dist/grid/cells/GridUnitEditor.d.ts.map +1 -0
- package/dist/grid/cells/GridUnitEditor.js +7 -0
- package/dist/grid/cells/GridUnitEditor.js.map +1 -0
- package/dist/grid/cells/GridUnitEditor.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/grid/cells/GridUnitEditor.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/columnStretchPlugin.d.ts +12 -0
- package/dist/grid/columnStretchPlugin.d.ts.map +1 -0
- package/dist/grid/columnStretchPlugin.js +35 -0
- package/dist/grid/columnStretchPlugin.js.map +1 -0
- package/dist/grid/composables/useCellTemplate.d.ts +35 -0
- package/dist/grid/composables/useCellTemplate.d.ts.map +1 -0
- package/dist/grid/composables/useCellTemplate.js +30 -0
- package/dist/grid/composables/useCellTemplate.js.map +1 -0
- package/dist/grid/composables/useGridOverlayFocusGuard.d.ts +5 -0
- package/dist/grid/composables/useGridOverlayFocusGuard.d.ts.map +1 -0
- package/dist/grid/composables/useGridOverlayFocusGuard.js +12 -0
- package/dist/grid/composables/useGridOverlayFocusGuard.js.map +1 -0
- package/dist/grid/composables/useUnitSuffix.d.ts +9 -0
- package/dist/grid/composables/useUnitSuffix.d.ts.map +1 -0
- package/dist/grid/composables/useUnitSuffix.js +13 -0
- package/dist/grid/composables/useUnitSuffix.js.map +1 -0
- package/dist/grid/gridHeight.d.ts +11 -0
- package/dist/grid/gridHeight.d.ts.map +1 -0
- package/dist/grid/gridHeight.js +8 -0
- package/dist/grid/gridHeight.js.map +1 -0
- package/dist/grid/index.d.ts +8 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/grid/index.js +4 -0
- package/dist/grid/parts/WellGridAddButton.d.ts +5 -0
- package/dist/grid/parts/WellGridAddButton.d.ts.map +1 -0
- package/dist/grid/parts/WellGridAddButton.js +7 -0
- package/dist/grid/parts/WellGridAddButton.js.map +1 -0
- package/dist/grid/parts/WellGridAddButton.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/grid/parts/WellGridAddButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/parts/WellGridDeleteButton.d.ts +5 -0
- package/dist/grid/parts/WellGridDeleteButton.d.ts.map +1 -0
- package/dist/grid/parts/WellGridDeleteButton.js +7 -0
- package/dist/grid/parts/WellGridDeleteButton.js.map +1 -0
- package/dist/grid/parts/WellGridDeleteButton.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/grid/parts/WellGridDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/types.d.ts +90 -0
- package/dist/grid/types.d.ts.map +1 -0
- package/dist/grid/useWellGridColumns.d.ts +40 -0
- package/dist/grid/useWellGridColumns.d.ts.map +1 -0
- package/dist/grid/useWellGridColumns.js +242 -0
- package/dist/grid/useWellGridColumns.js.map +1 -0
- package/dist/grid.css +407 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/location/WellCoordinateInput.d.ts +14 -0
- package/dist/location/WellCoordinateInput.d.ts.map +1 -0
- package/dist/location/WellCoordinateInput.js +7 -0
- package/dist/location/WellCoordinateInput.js.map +1 -0
- package/dist/location/WellCoordinateInput.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/location/WellCoordinateInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/location/WellLocationMap.d.ts +22 -0
- package/dist/location/WellLocationMap.d.ts.map +1 -0
- package/dist/location/WellLocationMap.js +9 -0
- package/dist/location/WellLocationMap.js.map +1 -0
- package/dist/location/WellLocationMap.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/location/WellLocationMap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/location/WellLocationPicker.d.ts +32 -0
- package/dist/location/WellLocationPicker.d.ts.map +1 -0
- package/dist/location/WellLocationPicker.js +7 -0
- package/dist/location/WellLocationPicker.js.map +1 -0
- package/dist/location/WellLocationPicker.vue_vue_type_script_setup_true_lang.js +117 -0
- package/dist/location/WellLocationPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/location/index.d.ts +6 -0
- package/dist/location/index.d.ts.map +1 -0
- package/dist/location/index.js +5 -0
- package/dist/location/location.d.ts +61 -0
- package/dist/location/location.d.ts.map +1 -0
- package/dist/location/location.js +15 -0
- package/dist/location/location.js.map +1 -0
- package/dist/nuxt/module.d.ts +76 -0
- package/dist/nuxt/module.d.ts.map +1 -0
- package/dist/nuxt/module.js +129 -0
- package/dist/nuxt/module.js.map +1 -0
- package/dist/nuxt/runtime/plugin.d.ts +14 -0
- package/dist/nuxt/runtime/plugin.d.ts.map +1 -0
- package/dist/nuxt/runtime/plugin.js +13 -0
- package/dist/nuxt/runtime/plugin.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/tailwind.css +160 -0
- package/dist/theme/define.d.ts +44 -0
- package/dist/theme/define.d.ts.map +1 -0
- package/dist/theme/define.js +14 -0
- package/dist/theme/define.js.map +1 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +4 -0
- package/dist/theme/preset.d.ts +20 -0
- package/dist/theme/preset.d.ts.map +1 -0
- package/dist/theme/preset.js +977 -0
- package/dist/theme/preset.js.map +1 -0
- package/dist/theme/pt.d.ts +8 -0
- package/dist/theme/pt.d.ts.map +1 -0
- package/dist/theme/pt.js +66 -0
- package/dist/theme/pt.js.map +1 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +134 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/grid/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,EAAE,iBAAiB,CAAC;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IACrE,GAAG,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;IAClC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB,CAAC,kBAAkB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAA;CAAE,CAAC,GAC1E,CAAC,kBAAkB,GAAG;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC,GACF,CAAC,kBAAkB,GAAG;IACpB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC,GACF,CAAC,kBAAkB,GAAG;IACpB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC,GACF,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAErE,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AfterEditEvent, ColumnRegular, Editors, FocusAfterRenderEvent } from '@revolist/revogrid';
|
|
2
|
+
import { BasePlugin } from '@revolist/vue3-datagrid';
|
|
3
|
+
import { LanguageTextInput } from '@welldot/core';
|
|
4
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
5
|
+
import { WellDataGridComponents, WellDataGridLabels, WellGridColumn } from './types';
|
|
6
|
+
export interface UseWellGridColumnsOptions {
|
|
7
|
+
columns: MaybeRefOrGetter<WellGridColumn[]>;
|
|
8
|
+
onDelete: (rowIndex: number, model: Record<string, unknown>) => void;
|
|
9
|
+
onChange: (rowIndex: number, prop: string, value: unknown) => void;
|
|
10
|
+
/** Include the pinned-start drag-handle column (default true) */
|
|
11
|
+
enableDrag?: boolean;
|
|
12
|
+
/** Include the pinned-end delete-row column (default true) */
|
|
13
|
+
enableDelete?: boolean;
|
|
14
|
+
/** Label handed to the delete-button part (its aria-label by default). */
|
|
15
|
+
deleteLabel?: MaybeRefOrGetter<LanguageTextInput>;
|
|
16
|
+
/** Grid-internal text (texture editor, header info trigger). */
|
|
17
|
+
labels?: MaybeRefOrGetter<WellDataGridLabels | undefined>;
|
|
18
|
+
/** Part overrides; `addButton` is rendered by `WellDataGrid` itself. */
|
|
19
|
+
components?: MaybeRefOrGetter<WellDataGridComponents | undefined>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Editor registry, column-kind resolution and RevoGrid column builder for a
|
|
23
|
+
* well feature grid. **Call it in `setup`**: cell templates and editors are
|
|
24
|
+
* bound to the calling component's app context there (see
|
|
25
|
+
* `useCellTemplate`), which is what lets cells reach `createWelldot` and
|
|
26
|
+
* PrimeVue.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useWellGridColumns(options: UseWellGridColumnsOptions): {
|
|
29
|
+
gridEditors: Editors;
|
|
30
|
+
revoColumns: import('vue').ComputedRef<ColumnRegular<import('@revolist/revogrid').ColumnProp, import('@revolist/revogrid').DataType<any, import('@revolist/revogrid').ColumnProp>>[]>;
|
|
31
|
+
gridStretch: import('vue').ComputedRef<boolean>;
|
|
32
|
+
plugins: import('vue').ComputedRef<(typeof BasePlugin)[]>;
|
|
33
|
+
coerceCellValue: (prop: string, val: unknown) => unknown;
|
|
34
|
+
handleAfterEdit: (event: CustomEvent<AfterEditEvent>) => void;
|
|
35
|
+
gridContainerRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
|
|
36
|
+
handleAfterFocus: (event: CustomEvent<FocusAfterRenderEvent>) => void;
|
|
37
|
+
handleGridMousedown: () => void;
|
|
38
|
+
handleGridClick: (event: MouseEvent) => void;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=useWellGridColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWellGridColumns.d.ts","sourceRoot":"","sources":["../../src/grid/useWellGridColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EACb,OAAO,EACP,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EAGX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAC;AA4Bb,OAAO,KAAK,EAEV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EAEf,MAAM,SAAS,CAAC;AA0GjB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAClD,gEAAgE;IAChE,MAAM,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAC1D,wEAAwE;IACxE,UAAU,CAAC,EAAE,gBAAgB,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;CACnE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;;;;;4BAgOpC,MAAM,OAAO,OAAO,KAAG,OAAO;6BA6D7B,WAAW,CAAC,cAAc,CAAC;;8BAxC1B,WAAW,CAAC,qBAAqB,CAAC;;6BAYnC,UAAU;EAiE3C"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { resolvePart as e, useWelldotConfig as t } from "../config.js";
|
|
2
|
+
import { useWellText as n } from "../composables/useWellText.js";
|
|
3
|
+
import { columnStretchPlugin as r } from "./columnStretchPlugin.js";
|
|
4
|
+
import i from "./cells/GridCheckboxCell.js";
|
|
5
|
+
import a from "./cells/GridColorCell.js";
|
|
6
|
+
import o from "./cells/GridColorPickerEditor.js";
|
|
7
|
+
import ee from "./cells/GridComboEditor.js";
|
|
8
|
+
import te from "./cells/GridDeleteCell.js";
|
|
9
|
+
import s from "./cells/GridDragCell.js";
|
|
10
|
+
import c from "./cells/GridFormattedCell.js";
|
|
11
|
+
import l from "./cells/GridHeaderCell.js";
|
|
12
|
+
import u from "./cells/GridNumberEditor.js";
|
|
13
|
+
import d from "./cells/GridSelectButtonCell.js";
|
|
14
|
+
import f from "./cells/GridSelectCell.js";
|
|
15
|
+
import ne from "./cells/GridSelectEditor.js";
|
|
16
|
+
import p from "./cells/GridTextEditor.js";
|
|
17
|
+
import m from "./cells/GridTextureSelectCell.js";
|
|
18
|
+
import h from "./cells/GridTextureSelectEditor.js";
|
|
19
|
+
import { useUnitSuffix as g } from "./composables/useUnitSuffix.js";
|
|
20
|
+
import _ from "./cells/GridUnitCell.js";
|
|
21
|
+
import v from "./cells/GridUnitEditor.js";
|
|
22
|
+
import { useCellTemplate as re } from "./composables/useCellTemplate.js";
|
|
23
|
+
import y from "./parts/WellGridDeleteButton.js";
|
|
24
|
+
import { computed as b, defineComponent as x, h as S, ref as C, toValue as w } from "vue";
|
|
25
|
+
import { BasePlugin as T, VGridVueEditor as E } from "@revolist/vue3-datagrid";
|
|
26
|
+
//#region src/grid/useWellGridColumns.ts
|
|
27
|
+
function ie(e) {
|
|
28
|
+
return e.type === "texture" ? "texture" : e.type === "select" ? "select" : e.type === "select-button" ? "select-button" : e.type === "combo" ? "combo" : e.type === "color" ? "color" : e.type === "checkbox" ? "checkbox" : e.unitType ? "unit" : e.formatter ? "formatted" : e.type === "number" ? "number" : "text";
|
|
29
|
+
}
|
|
30
|
+
var D = [
|
|
31
|
+
"length",
|
|
32
|
+
"diameter",
|
|
33
|
+
"flow",
|
|
34
|
+
"power",
|
|
35
|
+
"volume"
|
|
36
|
+
], O = [
|
|
37
|
+
"val",
|
|
38
|
+
"save",
|
|
39
|
+
"close",
|
|
40
|
+
"column"
|
|
41
|
+
];
|
|
42
|
+
function k(e, t) {
|
|
43
|
+
return E(x((n) => () => S(e, {
|
|
44
|
+
val: n.val,
|
|
45
|
+
save: n.save,
|
|
46
|
+
close: n.close,
|
|
47
|
+
...n.column?.column?.editorProps,
|
|
48
|
+
...t?.()
|
|
49
|
+
}), {
|
|
50
|
+
inheritAttrs: !1,
|
|
51
|
+
props: O
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
var A = x((e) => (e.close(), () => null), {
|
|
55
|
+
inheritAttrs: !1,
|
|
56
|
+
props: O
|
|
57
|
+
});
|
|
58
|
+
function j(x) {
|
|
59
|
+
let { onDelete: S, onChange: O, enableDrag: j = !0, enableDelete: M = !0 } = x, N = b(() => w(x.columns)), P = b(() => w(x.labels) ?? {}), F = b(() => w(x.components) ?? {}), I = t(), L = n(), R = re(), z = Object.fromEntries(D.map((e) => [e, g(e)])), B = {
|
|
60
|
+
noop: E(A),
|
|
61
|
+
text: E(p),
|
|
62
|
+
number: E(u),
|
|
63
|
+
color: E(o),
|
|
64
|
+
unit: k(v),
|
|
65
|
+
select: k(ne),
|
|
66
|
+
combo: k(ee, () => ({ hint: P.value.comboHint })),
|
|
67
|
+
texture: k(h, () => ({
|
|
68
|
+
placeholder: P.value.texturePlaceholder,
|
|
69
|
+
showPending: P.value.showPendingTextures
|
|
70
|
+
}))
|
|
71
|
+
}, V = R(l), H = b(() => N.value.find((e) => e.stretch) ?? null), U = b(() => H.value?.prop ?? null), W = b(() => U.value === null), G = b(() => {
|
|
72
|
+
let e = [];
|
|
73
|
+
return j && e.push(class extends T {
|
|
74
|
+
constructor(e, t) {
|
|
75
|
+
super(e, t), this.addEventListener("rowdragstart", (e) => {
|
|
76
|
+
let t = e.detail.model?.name;
|
|
77
|
+
typeof t == "string" && t && (e.detail.text = t);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}), U.value !== null && e.push(r(U.value, H.value?.minSize)), e;
|
|
81
|
+
}), K = () => ({ class: "well-grid-checkbox-cell" }), q = {
|
|
82
|
+
text: {},
|
|
83
|
+
number: { numeric: !0 },
|
|
84
|
+
unit: {
|
|
85
|
+
editor: "unit",
|
|
86
|
+
numeric: !0,
|
|
87
|
+
editorProps: ({ col: e }) => ({ unitType: e.unitType }),
|
|
88
|
+
cellTemplate: ({ col: e }) => R(_, { unitType: e.unitType })
|
|
89
|
+
},
|
|
90
|
+
color: {
|
|
91
|
+
editor: "color",
|
|
92
|
+
cellTemplate: () => R(a)
|
|
93
|
+
},
|
|
94
|
+
select: {
|
|
95
|
+
editor: "select",
|
|
96
|
+
editorProps: ({ options: e }) => ({ options: e }),
|
|
97
|
+
cellTemplate: ({ options: e }) => R(f, { options: e })
|
|
98
|
+
},
|
|
99
|
+
combo: {
|
|
100
|
+
editor: "combo",
|
|
101
|
+
editorProps: ({ options: e }) => ({ options: e }),
|
|
102
|
+
cellTemplate: ({ options: e }) => R(f, { options: e })
|
|
103
|
+
},
|
|
104
|
+
formatted: { cellTemplate: ({ col: e }) => R(c, { formatter: e.formatter }) },
|
|
105
|
+
checkbox: {
|
|
106
|
+
editor: "noop",
|
|
107
|
+
cellProperties: K,
|
|
108
|
+
cellTemplate: ({ col: e }) => R(i, {
|
|
109
|
+
prop: e.prop,
|
|
110
|
+
onToggle: (e, t, n) => O(e, t, n)
|
|
111
|
+
})
|
|
112
|
+
},
|
|
113
|
+
"select-button": {
|
|
114
|
+
editor: "noop",
|
|
115
|
+
cellProperties: K,
|
|
116
|
+
cellTemplate: ({ col: e, options: t }) => R(d, {
|
|
117
|
+
prop: e.prop,
|
|
118
|
+
options: t,
|
|
119
|
+
onChange: (e, t, n) => O(e, t, n)
|
|
120
|
+
})
|
|
121
|
+
},
|
|
122
|
+
texture: {
|
|
123
|
+
editor: "texture",
|
|
124
|
+
cellTemplate: () => R(m)
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
function J(e) {
|
|
128
|
+
return e.map((e) => ({
|
|
129
|
+
value: e.value,
|
|
130
|
+
label: L(e.label) ?? e.value,
|
|
131
|
+
...e.deprecated && { deprecated: !0 }
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
function Y(e) {
|
|
135
|
+
let t = q[ie(e)], n = {
|
|
136
|
+
col: e,
|
|
137
|
+
options: "options" in e ? J(e.options) : void 0
|
|
138
|
+
}, r = L(e.label) ?? "", i = e.unitType ? z[e.unitType].value : null, a = e.readonly ?? !1, o = L(e.info);
|
|
139
|
+
return {
|
|
140
|
+
prop: e.prop,
|
|
141
|
+
name: i ? `${r} (${i})` : r,
|
|
142
|
+
autoSize: !e.size && !e.stretch,
|
|
143
|
+
size: e.size,
|
|
144
|
+
readonly: a,
|
|
145
|
+
editor: a ? void 0 : t.editor ?? e.editor ?? (e.type === "number" ? "number" : "text"),
|
|
146
|
+
editorProps: t.editorProps?.(n),
|
|
147
|
+
pin: e.pin,
|
|
148
|
+
cellProperties: t.cellProperties ?? (t.numeric ? () => ({ class: "num" }) : void 0),
|
|
149
|
+
cellTemplate: t.cellTemplate?.(n),
|
|
150
|
+
...o && {
|
|
151
|
+
info: o,
|
|
152
|
+
infoHighlight: L(e.infoHighlight),
|
|
153
|
+
infoLabel: L(P.value.columnInfo),
|
|
154
|
+
columnTemplate: V
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
let ae = b(() => {
|
|
159
|
+
let t = [];
|
|
160
|
+
if (j) {
|
|
161
|
+
let n = e("dragHandle", F.value.dragHandle, void 0, I);
|
|
162
|
+
t.push({
|
|
163
|
+
prop: "_drag",
|
|
164
|
+
name: "",
|
|
165
|
+
size: 30,
|
|
166
|
+
pin: "colPinStart",
|
|
167
|
+
rowDrag: !0,
|
|
168
|
+
cellProperties: () => ({ class: "well-grid-drag-cell" }),
|
|
169
|
+
...n && { cellTemplate: R(s, { part: n }) }
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return t.push(...N.value.map(Y)), M && t.push({
|
|
173
|
+
prop: "_delete",
|
|
174
|
+
name: "",
|
|
175
|
+
size: 40,
|
|
176
|
+
readonly: !0,
|
|
177
|
+
pin: "colPinEnd",
|
|
178
|
+
cellProperties: () => ({ class: "well-grid-delete-cell" }),
|
|
179
|
+
cellTemplate: R(te, {
|
|
180
|
+
part: e("deleteButton", F.value.deleteButton, y, I),
|
|
181
|
+
label: L(w(x.deleteLabel)),
|
|
182
|
+
requestDelete: S
|
|
183
|
+
})
|
|
184
|
+
}), t;
|
|
185
|
+
});
|
|
186
|
+
function X(e, t) {
|
|
187
|
+
return N.value.find((t) => t.prop === e)?.type === "checkbox" && typeof t == "string" ? t === "true" || t === "1" || t.toLowerCase() === "yes" : t;
|
|
188
|
+
}
|
|
189
|
+
let Z = C(null), Q = C(null), $ = !1;
|
|
190
|
+
function oe(e) {
|
|
191
|
+
let { rowIndex: t, colIndex: n, column: r } = e.detail;
|
|
192
|
+
Q.value = r ? {
|
|
193
|
+
rowIndex: t,
|
|
194
|
+
colIndex: n,
|
|
195
|
+
prop: String(r.prop)
|
|
196
|
+
} : null, $ = !0;
|
|
197
|
+
}
|
|
198
|
+
function se() {
|
|
199
|
+
$ = !1;
|
|
200
|
+
}
|
|
201
|
+
function ce(e) {
|
|
202
|
+
if ($) {
|
|
203
|
+
$ = !1;
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
let t = Q.value;
|
|
207
|
+
if (!t) return;
|
|
208
|
+
let n = e.target.closest("[data-rgrow][data-rgcol]");
|
|
209
|
+
if (!n || Number(n.dataset.rgrow) !== t.rowIndex || Number(n.dataset.rgcol) !== t.colIndex) return;
|
|
210
|
+
let r = N.value.find((e) => e.prop === t.prop);
|
|
211
|
+
!r || r.readonly || (Z.value?.querySelector("revo-grid"))?.setCellEdit(t.rowIndex, t.prop);
|
|
212
|
+
}
|
|
213
|
+
function le(e) {
|
|
214
|
+
let t = e.detail;
|
|
215
|
+
if ("rowIndex" in t) {
|
|
216
|
+
let { rowIndex: e, prop: n, val: r } = t;
|
|
217
|
+
O(e, String(n), X(String(n), r));
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
let n = t.data;
|
|
221
|
+
if (n) for (let [e, t] of Object.entries(n)) {
|
|
222
|
+
let n = Number(e);
|
|
223
|
+
for (let [e, r] of Object.entries(t)) O(n, e, X(e, r));
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
gridEditors: B,
|
|
228
|
+
revoColumns: ae,
|
|
229
|
+
gridStretch: W,
|
|
230
|
+
plugins: G,
|
|
231
|
+
coerceCellValue: X,
|
|
232
|
+
handleAfterEdit: le,
|
|
233
|
+
gridContainerRef: Z,
|
|
234
|
+
handleAfterFocus: oe,
|
|
235
|
+
handleGridMousedown: se,
|
|
236
|
+
handleGridClick: ce
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
//#endregion
|
|
240
|
+
export { j as useWellGridColumns };
|
|
241
|
+
|
|
242
|
+
//# sourceMappingURL=useWellGridColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWellGridColumns.js","names":[],"sources":["../../src/grid/useWellGridColumns.ts"],"sourcesContent":["import type {\n AfterEditEvent,\n BeforeSaveDataDetails,\n ColumnRegular,\n Editors,\n FocusAfterRenderEvent,\n GridPlugin,\n} from '@revolist/revogrid';\nimport {\n BasePlugin,\n VGridVueEditor,\n type PluginProviders,\n} from '@revolist/vue3-datagrid';\nimport type { LanguageTextInput } from '@welldot/core';\nimport {\n computed,\n defineComponent,\n h,\n ref,\n toValue,\n type Component,\n type MaybeRefOrGetter,\n} from 'vue';\nimport { useWellText } from '../composables/useWellText';\nimport type { DisplayUnitType } from '../composables/useWellUnits';\nimport { resolvePart, useWelldotConfig } from '../config';\nimport GridCheckboxCell from './cells/GridCheckboxCell.vue';\nimport GridColorCell from './cells/GridColorCell.vue';\nimport GridColorPickerEditor from './cells/GridColorPickerEditor.vue';\nimport GridComboEditor from './cells/GridComboEditor.vue';\nimport GridDeleteCell from './cells/GridDeleteCell.vue';\nimport GridDragCell from './cells/GridDragCell.vue';\nimport GridFormattedCell from './cells/GridFormattedCell.vue';\nimport GridHeaderCell from './cells/GridHeaderCell.vue';\nimport GridNumberEditor from './cells/GridNumberEditor.vue';\nimport GridSelectButtonCell from './cells/GridSelectButtonCell.vue';\nimport GridSelectCell from './cells/GridSelectCell.vue';\nimport GridSelectEditor from './cells/GridSelectEditor.vue';\nimport GridTextEditor from './cells/GridTextEditor.vue';\nimport GridTextureSelectCell from './cells/GridTextureSelectCell.vue';\nimport GridTextureSelectEditor from './cells/GridTextureSelectEditor.vue';\nimport GridUnitCell from './cells/GridUnitCell.vue';\nimport GridUnitEditor from './cells/GridUnitEditor.vue';\nimport { columnStretchPlugin } from './columnStretchPlugin';\nimport {\n useCellTemplate,\n type GridVueTemplate,\n} from './composables/useCellTemplate';\nimport { useUnitSuffix } from './composables/useUnitSuffix';\nimport WellGridDeleteButton from './parts/WellGridDeleteButton.vue';\nimport type {\n ResolvedGridOption,\n WellDataGridComponents,\n WellDataGridLabels,\n WellGridColumn,\n WellGridOption,\n} from './types';\n\n// ─── Column kinds ──────────────────────────────────────────────────────────\n// Declares how each column \"kind\" renders and edits.\n// `resolveColumnKind` decides which kind a column declaration maps to.\n\ntype ColumnKind =\n | 'text'\n | 'number'\n | 'unit'\n | 'color'\n | 'select'\n | 'select-button'\n | 'combo'\n | 'formatted'\n | 'checkbox'\n | 'texture';\n\n/** What a kind needs from one column, with its text already resolved. */\ninterface ResolvedColumn {\n col: WellGridColumn;\n options?: ResolvedGridOption[];\n}\n\ninterface ColumnKindDef {\n editor?: string;\n numeric?: boolean;\n cellProperties?: ColumnRegular['cellProperties'];\n cellTemplate?: (c: ResolvedColumn) => GridVueTemplate;\n /** Per-column props handed to the editor (read from `column.editorProps`). */\n editorProps?: (c: ResolvedColumn) => Record<string, unknown>;\n}\n\nfunction resolveColumnKind(col: WellGridColumn): ColumnKind {\n if (col.type === 'texture') return 'texture';\n if (col.type === 'select') return 'select';\n if (col.type === 'select-button') return 'select-button';\n if (col.type === 'combo') return 'combo';\n if (col.type === 'color') return 'color';\n if (col.type === 'checkbox') return 'checkbox';\n if (col.unitType) return 'unit';\n if (col.formatter) return 'formatted';\n return col.type === 'number' ? 'number' : 'text';\n}\n\nconst UNIT_TYPES: readonly DisplayUnitType[] = [\n 'length',\n 'diameter',\n 'flow',\n 'power',\n 'volume',\n];\n\n/** Props RevoGrid hands to every editor (`EditorType`). */\ninterface GridEditorProps {\n val?: unknown;\n save: (value: unknown, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n /** Cell data model; `column.column` is the `ColumnRegular`. */\n column?: { column?: { editorProps?: Record<string, unknown> } };\n}\n\n/* eslint-disable vue/one-component-per-file -- tiny render-function editor\n adapters, not SFCs */\n\nconst EDITOR_PROP_KEYS: Array<keyof GridEditorProps> = [\n 'val',\n 'save',\n 'close',\n 'column',\n];\n\n/**\n * Editor that forwards `val`/`save`/`close` plus the column's\n * `editorProps` (and optional grid-wide props) to `component`. Lets one\n * editor per kind — registered once in setup — serve every column.\n */\nfunction columnEditor(\n component: Component,\n extraProps?: () => Record<string, unknown>,\n) {\n return VGridVueEditor(\n defineComponent(\n (p: GridEditorProps) => () =>\n h(component, {\n val: p.val,\n save: p.save,\n close: p.close,\n ...p.column?.column?.editorProps,\n ...extraProps?.(),\n }),\n { inheritAttrs: false, props: EDITOR_PROP_KEYS },\n ),\n );\n}\n\nconst NoopEditor = defineComponent(\n (p: GridEditorProps) => {\n p.close();\n return () => null;\n },\n { inheritAttrs: false, props: EDITOR_PROP_KEYS },\n);\n\n/* eslint-enable vue/one-component-per-file */\n\nexport interface UseWellGridColumnsOptions {\n columns: MaybeRefOrGetter<WellGridColumn[]>;\n onDelete: (rowIndex: number, model: Record<string, unknown>) => void;\n onChange: (rowIndex: number, prop: string, value: unknown) => void;\n /** Include the pinned-start drag-handle column (default true) */\n enableDrag?: boolean;\n /** Include the pinned-end delete-row column (default true) */\n enableDelete?: boolean;\n /** Label handed to the delete-button part (its aria-label by default). */\n deleteLabel?: MaybeRefOrGetter<LanguageTextInput>;\n /** Grid-internal text (texture editor, header info trigger). */\n labels?: MaybeRefOrGetter<WellDataGridLabels | undefined>;\n /** Part overrides; `addButton` is rendered by `WellDataGrid` itself. */\n components?: MaybeRefOrGetter<WellDataGridComponents | undefined>;\n}\n\n/**\n * Editor registry, column-kind resolution and RevoGrid column builder for a\n * well feature grid. **Call it in `setup`**: cell templates and editors are\n * bound to the calling component's app context there (see\n * `useCellTemplate`), which is what lets cells reach `createWelldot` and\n * PrimeVue.\n */\nexport function useWellGridColumns(options: UseWellGridColumnsOptions) {\n const {\n onDelete,\n onChange,\n enableDrag = true,\n enableDelete = true,\n } = options;\n const cols = computed(() => toValue(options.columns));\n const labels = computed(() => toValue(options.labels) ?? {});\n const parts = computed(() => toValue(options.components) ?? {});\n\n const config = useWelldotConfig();\n const text = useWellText();\n const cellTemplate = useCellTemplate();\n const suffixes = Object.fromEntries(\n UNIT_TYPES.map(type => [type, useUnitSuffix(type)]),\n ) as Record<DisplayUnitType, ReturnType<typeof useUnitSuffix>>;\n\n // ─── Editors ───────────────────────────────────────────────────────────────\n // Created once, here in setup: `VGridVueEditor` captures the current\n // instance's app context when called. Per-column data (unit type, options)\n // travels on the column as `editorProps`.\n\n const gridEditors: Editors = {\n noop: VGridVueEditor(NoopEditor),\n text: VGridVueEditor(GridTextEditor),\n number: VGridVueEditor(GridNumberEditor),\n color: VGridVueEditor(GridColorPickerEditor),\n unit: columnEditor(GridUnitEditor),\n select: columnEditor(GridSelectEditor),\n combo: columnEditor(GridComboEditor, () => ({\n hint: labels.value.comboHint,\n })),\n texture: columnEditor(GridTextureSelectEditor, () => ({\n placeholder: labels.value.texturePlaceholder,\n showPending: labels.value.showPendingTextures,\n })),\n };\n\n const headerTemplate = cellTemplate(GridHeaderCell);\n\n const stretchCol = computed(() => cols.value.find(c => c.stretch) ?? null);\n const stretchProp = computed(() => stretchCol.value?.prop ?? null);\n const gridStretch = computed(() => stretchProp.value === null);\n\n const plugins = computed(() => {\n const list: GridPlugin[] = [];\n if (enableDrag) {\n list.push(\n class HRPlugin extends BasePlugin {\n constructor(r: HTMLRevoGridElement, p: PluginProviders) {\n super(r, p);\n this.addEventListener('rowdragstart', e => {\n const name = e.detail.model?.['name'];\n if (typeof name === 'string' && name) {\n e.detail.text = name;\n }\n });\n }\n },\n );\n }\n if (stretchProp.value !== null) {\n list.push(\n columnStretchPlugin(stretchProp.value, stretchCol.value?.minSize),\n );\n }\n return list;\n });\n\n const checkboxCellProperties = () => ({ class: 'well-grid-checkbox-cell' });\n\n const columnKinds: Record<ColumnKind, ColumnKindDef> = {\n text: {},\n number: { numeric: true },\n unit: {\n editor: 'unit',\n numeric: true,\n editorProps: ({ col }) => ({ unitType: col.unitType }),\n cellTemplate: ({ col }) =>\n cellTemplate(GridUnitCell, { unitType: col.unitType }),\n },\n color: {\n editor: 'color',\n cellTemplate: () => cellTemplate(GridColorCell),\n },\n select: {\n editor: 'select',\n editorProps: ({ options }) => ({ options }),\n cellTemplate: ({ options }) => cellTemplate(GridSelectCell, { options }),\n },\n combo: {\n editor: 'combo',\n editorProps: ({ options }) => ({ options }),\n // GridSelectCell already falls back to the raw value when it isn't\n // one of the suggested options, which is exactly what free text needs.\n cellTemplate: ({ options }) => cellTemplate(GridSelectCell, { options }),\n },\n formatted: {\n cellTemplate: ({ col }) =>\n cellTemplate(GridFormattedCell, { formatter: col.formatter }),\n },\n checkbox: {\n editor: 'noop',\n cellProperties: checkboxCellProperties,\n cellTemplate: ({ col }) =>\n cellTemplate(GridCheckboxCell, {\n prop: col.prop,\n onToggle: (rowIndex: number, prop: string, value: boolean) =>\n onChange(rowIndex, prop, value),\n }),\n },\n 'select-button': {\n editor: 'noop',\n cellProperties: checkboxCellProperties,\n cellTemplate: ({ col, options }) =>\n cellTemplate(GridSelectButtonCell, {\n prop: col.prop,\n options,\n onChange: (rowIndex: number, prop: string, value: unknown) =>\n onChange(rowIndex, prop, value),\n }),\n },\n texture: {\n editor: 'texture',\n cellTemplate: () => cellTemplate(GridTextureSelectCell),\n },\n };\n\n function resolveOptions(\n list: readonly WellGridOption[],\n ): ResolvedGridOption[] {\n return list.map(o => ({\n value: o.value,\n label: text(o.label) ?? o.value,\n ...(o.deprecated && { deprecated: true }),\n }));\n }\n\n function buildColumn(col: WellGridColumn): ColumnRegular {\n const kind = columnKinds[resolveColumnKind(col)];\n const resolved: ResolvedColumn = {\n col,\n options: 'options' in col ? resolveOptions(col.options) : undefined,\n };\n const label = text(col.label) ?? '';\n const unit = col.unitType ? suffixes[col.unitType].value : null;\n const readonly = col.readonly ?? false;\n const info = text(col.info);\n\n return {\n prop: col.prop,\n name: unit ? `${label} (${unit})` : label,\n autoSize: !col.size && !col.stretch,\n size: col.size,\n readonly,\n editor: readonly\n ? undefined\n : (kind.editor ??\n col.editor ??\n (col.type === 'number' ? 'number' : 'text')),\n editorProps: kind.editorProps?.(resolved),\n pin: col.pin,\n cellProperties:\n kind.cellProperties ??\n (kind.numeric ? () => ({ class: 'num' }) : undefined),\n cellTemplate: kind.cellTemplate?.(resolved),\n ...(info && {\n info,\n infoHighlight: text(col.infoHighlight),\n infoLabel: text(labels.value.columnInfo),\n columnTemplate: headerTemplate,\n }),\n };\n }\n\n const revoColumns = computed<ColumnRegular[]>(() => {\n const result: ColumnRegular[] = [];\n if (enableDrag) {\n const dragHandle = resolvePart(\n 'dragHandle',\n parts.value.dragHandle,\n undefined,\n config,\n );\n result.push({\n prop: '_drag',\n name: '',\n size: 30,\n pin: 'colPinStart',\n rowDrag: true,\n cellProperties: () => ({ class: 'well-grid-drag-cell' }),\n // Without an override RevoGrid draws its own handle (styled by\n // grid.css). A template replaces it, so GridDragCell re-emits the\n // drag start RevoGrid's handle would have emitted.\n ...(dragHandle && {\n cellTemplate: cellTemplate(GridDragCell, { part: dragHandle }),\n }),\n });\n }\n result.push(...cols.value.map(buildColumn));\n if (enableDelete) {\n result.push({\n prop: '_delete',\n name: '',\n size: 40,\n readonly: true,\n pin: 'colPinEnd',\n cellProperties: () => ({ class: 'well-grid-delete-cell' }),\n cellTemplate: cellTemplate(GridDeleteCell, {\n part: resolvePart(\n 'deleteButton',\n parts.value.deleteButton,\n WellGridDeleteButton,\n config,\n ),\n label: text(toValue(options.deleteLabel)),\n requestDelete: onDelete,\n }),\n });\n }\n return result;\n });\n\n function coerceCellValue(prop: string, val: unknown): unknown {\n const col = cols.value.find(c => c.prop === prop);\n if (col?.type === 'checkbox' && typeof val === 'string') {\n return val === 'true' || val === '1' || val.toLowerCase() === 'yes';\n }\n return val;\n }\n\n // ─── Click-on-focused-cell → enter edit mode ───────────────────────────────\n // `afterfocus` only fires when focus moves to a new cell. A click that\n // triggers such a focus change is suppressed; a second click on the cell\n // that's already focused enters edit mode for it.\n\n const gridContainerRef = ref<HTMLElement | null>(null);\n const focusedCell = ref<{\n rowIndex: number;\n colIndex: number;\n prop: string;\n } | null>(null);\n let suppressNextClick = false;\n\n function handleAfterFocus(event: CustomEvent<FocusAfterRenderEvent>) {\n const { rowIndex, colIndex, column } = event.detail;\n focusedCell.value = column\n ? { rowIndex, colIndex, prop: String(column.prop) }\n : null;\n suppressNextClick = true;\n }\n\n function handleGridMousedown() {\n suppressNextClick = false;\n }\n\n function handleGridClick(event: MouseEvent) {\n if (suppressNextClick) {\n suppressNextClick = false;\n return;\n }\n const cell = focusedCell.value;\n if (!cell) return;\n\n const target = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-rgrow][data-rgcol]',\n );\n if (!target) return;\n if (\n Number(target.dataset.rgrow) !== cell.rowIndex ||\n Number(target.dataset.rgcol) !== cell.colIndex\n ) {\n return;\n }\n\n const col = cols.value.find(c => c.prop === cell.prop);\n if (!col || col.readonly) return;\n\n const gridEl = gridContainerRef.value?.querySelector('revo-grid') as\n | HTMLRevoGridElement\n | undefined;\n gridEl?.setCellEdit(cell.rowIndex, cell.prop);\n }\n\n function handleAfterEdit(event: CustomEvent<AfterEditEvent>) {\n const detail = event.detail as Record<string, unknown>;\n\n // Single-cell edit: detail has rowIndex + prop + val\n if ('rowIndex' in detail) {\n const { rowIndex, prop, val } =\n detail as unknown as BeforeSaveDataDetails;\n onChange(rowIndex, String(prop), coerceCellValue(String(prop), val));\n return;\n }\n\n // Block edit (paste, range clear, etc.): detail has data keyed by row index\n const blockData = detail.data as\n | Record<string, Record<string, unknown>>\n | undefined;\n if (!blockData) return;\n\n for (const [rowKey, rowData] of Object.entries(blockData)) {\n const rowIndex = Number(rowKey);\n for (const [prop, val] of Object.entries(rowData)) {\n onChange(rowIndex, prop, coerceCellValue(prop, val));\n }\n }\n }\n\n return {\n gridEditors,\n revoColumns,\n gridStretch,\n plugins,\n coerceCellValue,\n handleAfterEdit,\n gridContainerRef,\n handleAfterFocus,\n handleGridMousedown,\n handleGridClick,\n };\n}\n"],"mappings":"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"}
|