diff --git a/resources/jscomposition/base/buttons/OutlineButton.vue b/resources/jscomposition/base/buttons/OutlineButton.vue index 3b492172de..d27a27ec11 100644 --- a/resources/jscomposition/base/buttons/OutlineButton.vue +++ b/resources/jscomposition/base/buttons/OutlineButton.vue @@ -2,9 +2,8 @@ diff --git a/resources/jscomposition/base/form/Dropdown.vue b/resources/jscomposition/base/form/Dropdown.vue index 1e28d9eff9..6c2e839aad 100644 --- a/resources/jscomposition/base/form/Dropdown.vue +++ b/resources/jscomposition/base/form/Dropdown.vue @@ -1,18 +1,17 @@ diff --git a/resources/jscomposition/system/table/filter/FooterButtons.vue b/resources/jscomposition/system/table/filter/FooterButtons.vue new file mode 100644 index 0000000000..7f733e2859 --- /dev/null +++ b/resources/jscomposition/system/table/filter/FooterButtons.vue @@ -0,0 +1,29 @@ + + diff --git a/resources/jscomposition/system/table/filter/SortingButtons.vue b/resources/jscomposition/system/table/filter/SortingButtons.vue new file mode 100644 index 0000000000..bfc4d66f76 --- /dev/null +++ b/resources/jscomposition/system/table/filter/SortingButtons.vue @@ -0,0 +1,32 @@ + + diff --git a/resources/jscomposition/system/table/filter/index.js b/resources/jscomposition/system/table/filter/index.js new file mode 100644 index 0000000000..7f7682fb96 --- /dev/null +++ b/resources/jscomposition/system/table/filter/index.js @@ -0,0 +1,11 @@ +import FilterColumn from "./FilterColumn.vue"; +import FooterButtons from "./FooterButtons.vue"; +import SortingButtons from "./SortingButtons.vue"; + +export * from "./operator"; + +export { + FilterColumn, + FooterButtons, + SortingButtons, +}; diff --git a/resources/jscomposition/system/table/filter/operator/BetweenOperator.vue b/resources/jscomposition/system/table/filter/operator/BetweenOperator.vue new file mode 100644 index 0000000000..19182999e8 --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/BetweenOperator.vue @@ -0,0 +1,48 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/DateBetweenOperator.vue b/resources/jscomposition/system/table/filter/operator/DateBetweenOperator.vue new file mode 100644 index 0000000000..f89cfb1a6f --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/DateBetweenOperator.vue @@ -0,0 +1,48 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/DateOperator.vue b/resources/jscomposition/system/table/filter/operator/DateOperator.vue new file mode 100644 index 0000000000..ffa69b243e --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/DateOperator.vue @@ -0,0 +1,18 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/FilterOperator.vue b/resources/jscomposition/system/table/filter/operator/FilterOperator.vue new file mode 100644 index 0000000000..8e7641af48 --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/FilterOperator.vue @@ -0,0 +1,125 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/InOperator.vue b/resources/jscomposition/system/table/filter/operator/InOperator.vue new file mode 100644 index 0000000000..b12b073084 --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/InOperator.vue @@ -0,0 +1,72 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/InputOperator.vue b/resources/jscomposition/system/table/filter/operator/InputOperator.vue new file mode 100644 index 0000000000..82ea3fc6b0 --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/InputOperator.vue @@ -0,0 +1,17 @@ + + diff --git a/resources/jscomposition/system/table/filter/operator/index.js b/resources/jscomposition/system/table/filter/operator/index.js new file mode 100644 index 0000000000..b1c78c6c8e --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/index.js @@ -0,0 +1,15 @@ +import BetweenOperator from "./BetweenOperator.vue"; +import FilterOperator from "./FilterOperator.vue"; +import InOperator from "./InOperator.vue"; +import InputOperator from "./InputOperator.vue"; +import DateOperator from "./DateOperator.vue"; +import DateBetweenOperator from "./DateBetweenOperator.vue"; + +export { + BetweenOperator, + FilterOperator, + InOperator, + InputOperator, + DateOperator, + DateBetweenOperator, +}; diff --git a/resources/jscomposition/system/table/filter/operator/operatorConfig.js b/resources/jscomposition/system/table/filter/operator/operatorConfig.js new file mode 100644 index 0000000000..366769d6c4 --- /dev/null +++ b/resources/jscomposition/system/table/filter/operator/operatorConfig.js @@ -0,0 +1,39 @@ +import InputOperator from "./InputOperator.vue"; +import BetweenOperator from "./BetweenOperator.vue"; +import InOperator from "./InOperator.vue"; +import DateOperator from "./DateOperator.vue"; +import DateBetweenOperator from "./DateBetweenOperator.vue"; + +const operatorType = [ + { + operator: ["=", ">", "<", ">=", "<=", "contains", "regex"], + type: ["number", "string"], + component: () => InputOperator, + }, + { + operator: ["between"], + type: ["number", "string"], + component: () => BetweenOperator, + }, + { + operator: ["in"], + type: ["number", "string"], + component: () => InOperator, + }, + { + operator: ["<", "<=", ">", ">="], + type: ["datetime"], + component: () => DateOperator, + }, + { + operator: ["between"], + type: ["datetime"], + component: () => DateBetweenOperator, + }, +]; + +export const getOperatorType = (operator = "=", type = "string") => { + const response = operatorType.find((e) => e.operator.includes(operator) && e.type.includes(type)); + + return response; +}; diff --git a/resources/jscomposition/system/table/index.js b/resources/jscomposition/system/table/index.js index 08ba296b39..26f3b8ab32 100644 --- a/resources/jscomposition/system/table/index.js +++ b/resources/jscomposition/system/table/index.js @@ -1 +1,8 @@ -export * from "./cell/index" \ No newline at end of file +import FilterableTable from "./FilterableTable.vue"; + +export * from "./cell/index"; +export * from "./filter/index"; + +export { + FilterableTable, +};