tianheng-ui 0.1.43 → 0.1.45

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.
Files changed (58) hide show
  1. package/lib/tianheng-ui.js +13 -13
  2. package/package.json +1 -1
  3. package/packages/FormMaking/GenerateForm.vue +93 -84
  4. package/packages/FormMaking/GenerateFormItem.vue +40 -130
  5. package/packages/FormMaking/WidgetConfig.vue +123 -59
  6. package/packages/FormMaking/WidgetFormItem.vue +1 -1
  7. package/packages/FormMaking/WidgetTools.vue +34 -9
  8. package/packages/FormMaking/custom/config.js +6 -2
  9. package/packages/FormMaking/custom/configs/button.vue +2 -2
  10. package/packages/FormMaking/custom/configs/cascader.vue +2 -2
  11. package/packages/FormMaking/custom/configs/checkbox.vue +2 -2
  12. package/packages/FormMaking/custom/configs/grid.vue +12 -0
  13. package/packages/FormMaking/custom/configs/list.vue +18 -0
  14. package/packages/FormMaking/custom/configs/radio.vue +2 -2
  15. package/packages/FormMaking/custom/configs/select.vue +2 -2
  16. package/packages/FormMaking/custom/configs/tabs.vue +2 -2
  17. package/packages/FormMaking/custom/configs/upload.vue +2 -2
  18. package/packages/FormMaking/custom/items/alliance.vue +2 -2
  19. package/packages/FormMaking/custom/items/blank_dev.vue +2 -2
  20. package/packages/FormMaking/custom/items/blank_pro.vue +2 -2
  21. package/packages/FormMaking/custom/items/button.vue +2 -2
  22. package/packages/FormMaking/custom/items/cascader.vue +2 -2
  23. package/packages/FormMaking/custom/items/cell.vue +2 -2
  24. package/packages/FormMaking/custom/items/checkbox.vue +2 -2
  25. package/packages/FormMaking/custom/items/color.vue +2 -2
  26. package/packages/FormMaking/custom/items/date.vue +2 -2
  27. package/packages/FormMaking/custom/items/divider.vue +2 -2
  28. package/packages/FormMaking/custom/items/editor.vue +2 -2
  29. package/packages/FormMaking/custom/items/filler.vue +2 -2
  30. package/packages/FormMaking/custom/items/grid_dev.vue +2 -2
  31. package/packages/FormMaking/custom/items/grid_pro.vue +18 -4
  32. package/packages/FormMaking/custom/items/image.vue +2 -2
  33. package/packages/FormMaking/custom/items/input.vue +2 -2
  34. package/packages/FormMaking/custom/items/list_dev.vue +2 -2
  35. package/packages/FormMaking/custom/items/number.vue +2 -2
  36. package/packages/FormMaking/custom/items/radio.vue +2 -2
  37. package/packages/FormMaking/custom/items/rate.vue +2 -2
  38. package/packages/FormMaking/custom/items/select.vue +2 -2
  39. package/packages/FormMaking/custom/items/slider.vue +2 -2
  40. package/packages/FormMaking/custom/items/switch.vue +2 -2
  41. package/packages/FormMaking/custom/items/tableH5_dev.vue +2 -2
  42. package/packages/FormMaking/custom/items/tableH5_pro.vue +26 -18
  43. package/packages/FormMaking/custom/items/table_dev.vue +2 -2
  44. package/packages/FormMaking/custom/items/table_pro.vue +10 -5
  45. package/packages/FormMaking/custom/items/tabs_dev.vue +2 -2
  46. package/packages/FormMaking/custom/items/tabs_pro.vue +14 -9
  47. package/packages/FormMaking/custom/items/text.vue +2 -2
  48. package/packages/FormMaking/custom/items/textarea.vue +2 -2
  49. package/packages/FormMaking/custom/items/time.vue +2 -2
  50. package/packages/FormMaking/custom/items/upload.vue +2 -2
  51. package/packages/FormMaking/custom/mixins/index.js +69 -13
  52. package/packages/FormMaking/index.vue +62 -57
  53. package/packages/TableMaking/custom/config.js +4 -1
  54. package/packages/TableMaking/custom/items/table/index-h5.vue +21 -30
  55. package/packages/TableMaking/custom/items/table/index-pc.vue +3 -3
  56. package/packages/TableMaking/index.vue +44 -6
  57. package/packages/TableMaking/widgetConfig.vue +99 -49
  58. package/packages/TableMaking/widgetTable.vue +4 -4
@@ -21,9 +21,9 @@
21
21
  </template>
22
22
 
23
23
  <script>
24
- import { itemsComponent } from "../mixins/index";
24
+ import { itemsComponent, eventMixin } from "../mixins/index";
25
25
  export default {
26
- mixins: [itemsComponent]
26
+ mixins: [itemsComponent, eventMixin]
27
27
  };
28
28
  </script>
29
29
 
@@ -5,9 +5,9 @@
5
5
  </template>
6
6
 
7
7
  <script>
8
- import { itemsComponent } from "../mixins/index";
8
+ import { itemsComponent, eventMixin } from "../mixins/index";
9
9
  export default {
10
- mixins: [itemsComponent]
10
+ mixins: [itemsComponent, eventMixin]
11
11
  };
12
12
  </script>
13
13
 
@@ -11,11 +11,11 @@
11
11
  </template>
12
12
 
13
13
  <script>
14
- import { itemsComponent } from "../mixins/index";
14
+ import { itemsComponent, eventMixin } from "../mixins/index";
15
15
  import { VueEditor } from "vue2-editor";
16
16
  export default {
17
17
  components: { VueEditor },
18
- mixins: [itemsComponent]
18
+ mixins: [itemsComponent, eventMixin]
19
19
  };
20
20
  </script>
21
21
 
@@ -8,9 +8,9 @@
8
8
  </template>
9
9
 
10
10
  <script>
11
- import { itemsComponent } from "../mixins/index";
11
+ import { itemsComponent, eventMixin } from "../mixins/index";
12
12
  export default {
13
- mixins: [itemsComponent]
13
+ mixins: [itemsComponent, eventMixin]
14
14
  };
15
15
  </script>
16
16
 
@@ -41,13 +41,13 @@
41
41
  </template>
42
42
 
43
43
  <script>
44
- import { itemsComponent } from "../mixins/index";
44
+ import { itemsComponent, eventMixin } from "../mixins/index";
45
45
  import Draggable from "vuedraggable";
46
46
  import WidgetFormItem from "../../WidgetFormItem.vue";
47
47
 
48
48
  export default {
49
49
  components: { Draggable, WidgetFormItem },
50
- mixins: [itemsComponent],
50
+ mixins: [itemsComponent, eventMixin],
51
51
  data() {
52
52
  return {
53
53
  selectWidget: {}
@@ -13,9 +13,10 @@
13
13
  v-for="element in column.list"
14
14
  :key="element.key"
15
15
  :widget="element"
16
+ :model.sync="dataModel[element.model]"
16
17
  :models="models"
18
+ :pModel="getPModel"
17
19
  :config="config"
18
- :prop="prop ? `${prop}.${element.model}` : element.model"
19
20
  :slotKeys="slotKeys"
20
21
  :componentsData="componentsData"
21
22
  >
@@ -28,15 +29,28 @@
28
29
  </template>
29
30
 
30
31
  <script>
31
- import { itemsComponent } from "../mixins/index";
32
+ import { itemsComponent, eventMixin } from "../mixins/index";
32
33
  import GenerateFormItem from "../../GenerateFormItem.vue";
33
34
  export default {
34
35
  components: { GenerateFormItem },
35
- mixins: [itemsComponent],
36
- props: ["models", "prop", "slotKeys", "componentsData"],
36
+ mixins: [itemsComponent, eventMixin],
37
+ props: ["slotKeys", "componentsData"],
37
38
  data() {
38
39
  return {};
39
40
  },
41
+ computed: {
42
+ getPModel() {
43
+ let pModel = "";
44
+ if (this.widget.options.isEntity) {
45
+ pModel = this.pModel
46
+ ? `${this.pModel}.${this.widget.model}`
47
+ : `${this.widget.model}`;
48
+ } else {
49
+ pModel = this.pModel ? `${this.pModel}` : "";
50
+ }
51
+ return pModel;
52
+ }
53
+ },
40
54
  methods: {}
41
55
  };
42
56
  </script>
@@ -13,12 +13,12 @@
13
13
  </template>
14
14
 
15
15
  <script>
16
- import { itemsComponent } from "../mixins/index";
16
+ import { itemsComponent, eventMixin } from "../mixins/index";
17
17
  import ThImage from "ui/Image/index.vue";
18
18
 
19
19
  export default {
20
20
  components: { ThImage },
21
- mixins: [itemsComponent],
21
+ mixins: [itemsComponent, eventMixin],
22
22
  computed: {
23
23
  selfStyle() {
24
24
  const style = { display: "inline-block" };
@@ -27,9 +27,9 @@
27
27
 
28
28
  <script>
29
29
  import { inputTypeDict } from "../../util/index";
30
- import { itemsComponent } from "../mixins/index";
30
+ import { itemsComponent, eventMixin } from "../mixins/index";
31
31
  export default {
32
- mixins: [itemsComponent],
32
+ mixins: [itemsComponent, eventMixin],
33
33
  methods: {
34
34
  inputTypeDict
35
35
  }
@@ -41,12 +41,12 @@
41
41
  </template>
42
42
 
43
43
  <script>
44
- import { itemsComponent } from "../mixins/index";
44
+ import { itemsComponent, eventMixin } from "../mixins/index";
45
45
  import Draggable from "vuedraggable";
46
46
  import WidgetFormItem from "../../WidgetFormItem.vue";
47
47
  export default {
48
48
  components: { Draggable, WidgetFormItem },
49
- mixins: [itemsComponent],
49
+ mixins: [itemsComponent, eventMixin],
50
50
  data() {
51
51
  return {
52
52
  selectWidget: {}
@@ -15,9 +15,9 @@
15
15
  </template>
16
16
 
17
17
  <script>
18
- import { itemsComponent } from "../mixins/index";
18
+ import { itemsComponent, eventMixin } from "../mixins/index";
19
19
  export default {
20
- mixins: [itemsComponent]
20
+ mixins: [itemsComponent, eventMixin]
21
21
  };
22
22
  </script>
23
23
 
@@ -45,9 +45,9 @@
45
45
  </template>
46
46
 
47
47
  <script>
48
- import { itemsComponent } from "../mixins/index";
48
+ import { itemsComponent, eventMixin } from "../mixins/index";
49
49
  export default {
50
- mixins: [itemsComponent]
50
+ mixins: [itemsComponent, eventMixin]
51
51
  };
52
52
  </script>
53
53
 
@@ -11,9 +11,9 @@
11
11
  </template>
12
12
 
13
13
  <script>
14
- import { itemsComponent } from "../mixins/index";
14
+ import { itemsComponent, eventMixin } from "../mixins/index";
15
15
  export default {
16
- mixins: [itemsComponent]
16
+ mixins: [itemsComponent, eventMixin]
17
17
  };
18
18
  </script>
19
19
 
@@ -29,9 +29,9 @@
29
29
  </template>
30
30
 
31
31
  <script>
32
- import { itemsComponent } from "../mixins/index";
32
+ import { itemsComponent, eventMixin } from "../mixins/index";
33
33
  export default {
34
- mixins: [itemsComponent]
34
+ mixins: [itemsComponent, eventMixin]
35
35
  };
36
36
  </script>
37
37
 
@@ -20,9 +20,9 @@
20
20
  </template>
21
21
 
22
22
  <script>
23
- import { itemsComponent } from "../mixins/index";
23
+ import { itemsComponent, eventMixin } from "../mixins/index";
24
24
  export default {
25
- mixins: [itemsComponent],
25
+ mixins: [itemsComponent, eventMixin],
26
26
  methods: {
27
27
  formatTooltip(val, num) {
28
28
  return val / num;
@@ -13,9 +13,9 @@
13
13
  </template>
14
14
 
15
15
  <script>
16
- import { itemsComponent } from "../mixins/index";
16
+ import { itemsComponent, eventMixin } from "../mixins/index";
17
17
  export default {
18
- mixins: [itemsComponent]
18
+ mixins: [itemsComponent, eventMixin]
19
19
  };
20
20
  </script>
21
21
 
@@ -43,12 +43,12 @@
43
43
  </template>
44
44
 
45
45
  <script>
46
- import { itemsComponent } from "../mixins/index";
46
+ import { itemsComponent, eventMixin } from "../mixins/index";
47
47
  import Draggable from "vuedraggable";
48
48
  import WidgetFormItem from "../../WidgetFormItem.vue";
49
49
  export default {
50
50
  components: { Draggable, WidgetFormItem },
51
- mixins: [itemsComponent],
51
+ mixins: [itemsComponent, eventMixin],
52
52
  data() {
53
53
  return {
54
54
  selectWidget: {}
@@ -12,14 +12,19 @@
12
12
  >
13
13
  <generate-form-item
14
14
  style="flex:1;"
15
- :models.sync="column"
16
15
  :widget="element"
17
- :config="config"
18
- :prop="
19
- element.type === 'grid'
20
- ? `${prop}.${columnIndex}`
21
- : `${prop}.${columnIndex}.${element.model}`
16
+ :model.sync="
17
+ element.type === 'grid' && !element.options.isEntity
18
+ ? column
19
+ : column[element.model]
20
+ "
21
+ :models="models"
22
+ :pModel="
23
+ pModel
24
+ ? `${pModel}.${columnIndex}`
25
+ : `${widget.model}.${columnIndex}`
22
26
  "
27
+ :config="config"
23
28
  :slotKeys="slotKeys"
24
29
  :componentsData="componentsData"
25
30
  >
@@ -56,31 +61,34 @@
56
61
  </template>
57
62
 
58
63
  <script>
59
- import { itemsComponent } from "../mixins/index";
64
+ import { itemsComponent, eventMixin } from "../mixins/index";
60
65
  import GenerateFormItem from "../../GenerateFormItem.vue";
61
66
  export default {
62
67
  components: { GenerateFormItem },
63
- mixins: [itemsComponent],
68
+ mixins: [itemsComponent, eventMixin],
64
69
  props: ["models", "prop", "slotKeys", "componentsData"],
65
70
  data() {
66
71
  return {};
67
72
  },
68
-
69
73
  methods: {
70
74
  handleTableAdd() {
71
75
  let dic = {};
72
- this.widget.options.columns.map(item => {
73
- if (item.type === "grid") {
74
- for (let i = 0; i < item.options.columns.length; i++) {
75
- const column = item.options.columns[i];
76
- for (const element of column.list) {
77
- dic[element.model] = element.options.defaultValue;
76
+ const initData = (list, data) => {
77
+ for (const item of list) {
78
+ if (item.type === "grid") {
79
+ if (item.options.isEntity) data[item.model] = {};
80
+ for (const column of item.options.columns) {
81
+ initData(
82
+ column.list,
83
+ item.options.isEntity ? data[item.model] : data
84
+ );
78
85
  }
86
+ } else {
87
+ data[item.model] = item.options.defaultValue;
79
88
  }
80
- } else {
81
- dic[item.model] = item.options.defaultValue;
82
89
  }
83
- });
90
+ };
91
+ initData(this.widget.options.columns, dic);
84
92
  this.dataModel.push(dic);
85
93
  }
86
94
  }
@@ -30,12 +30,12 @@
30
30
  </template>
31
31
 
32
32
  <script>
33
- import { itemsComponent } from "../mixins/index";
33
+ import { itemsComponent, eventMixin } from "../mixins/index";
34
34
  import Draggable from "vuedraggable";
35
35
  import WidgetFormItem from "../../WidgetFormItem.vue";
36
36
  export default {
37
37
  components: { Draggable, WidgetFormItem },
38
- mixins: [itemsComponent],
38
+ mixins: [itemsComponent, eventMixin],
39
39
  data() {
40
40
  return {
41
41
  selectWidget: {}
@@ -24,10 +24,15 @@
24
24
  >
25
25
  <template slot-scope="scope">
26
26
  <generate-form-item
27
- :models.sync="dataModel[scope.$index]"
28
27
  :widget="element"
28
+ :model.sync="dataModel[scope.$index][element.model]"
29
+ :models="models"
30
+ :pModel="
31
+ pModel
32
+ ? `${pModel}.${scope.$index}`
33
+ : `${widget.model}.${scope.$index}`
34
+ "
29
35
  :config="config"
30
- :prop="`${prop}.${scope.$index}.${element.model}`"
31
36
  :slotKeys="slotKeys"
32
37
  :componentsData="componentsData"
33
38
  >
@@ -74,12 +79,12 @@
74
79
  </template>
75
80
 
76
81
  <script>
77
- import { itemsComponent } from "../mixins/index";
82
+ import { itemsComponent, eventMixin } from "../mixins/index";
78
83
  import GenerateFormItem from "../../GenerateFormItem.vue";
79
84
  export default {
80
85
  components: { GenerateFormItem },
81
- mixins: [itemsComponent],
82
- props: ["models", "prop", "slotKeys", "componentsData"],
86
+ mixins: [itemsComponent, eventMixin],
87
+ props: ["slotKeys", "componentsData"],
83
88
  data() {
84
89
  return {};
85
90
  },
@@ -40,12 +40,12 @@
40
40
  </template>
41
41
 
42
42
  <script>
43
- import { itemsComponent } from "../mixins/index";
43
+ import { itemsComponent, eventMixin } from "../mixins/index";
44
44
  import Draggable from "vuedraggable";
45
45
  import WidgetFormItem from "../../WidgetFormItem.vue";
46
46
  export default {
47
47
  components: { Draggable, WidgetFormItem },
48
- mixins: [itemsComponent],
48
+ mixins: [itemsComponent, eventMixin],
49
49
  data() {
50
50
  return {
51
51
  selectWidget: {}
@@ -14,13 +14,18 @@
14
14
  v-for="element in column.list"
15
15
  :key="`tabs_${columnIndex}_${element.key}`"
16
16
  :widget="element"
17
- :models.sync="dataModel[column.value]"
18
- :config="config"
19
- :prop="
20
- element.type === 'grid'
21
- ? `${prop}.${column.value}`
22
- : `${prop}.${column.value}.${element.model}`
17
+ :model.sync="
18
+ element.type === 'grid' && !element.options.isEntity
19
+ ? dataModel[column.value]
20
+ : dataModel[column.value][element.model]
21
+ "
22
+ :models="models"
23
+ :pModel="
24
+ pModel
25
+ ? `${pModel}.${scope.$index}`
26
+ : `${widget.model}.${column.value}`
23
27
  "
28
+ :config="config"
24
29
  :slotKeys="slotKeys"
25
30
  :componentsData="componentsData"
26
31
  >
@@ -33,12 +38,12 @@
33
38
  </template>
34
39
 
35
40
  <script>
36
- import { itemsComponent } from "../mixins/index";
41
+ import { itemsComponent, eventMixin } from "../mixins/index";
37
42
  import GenerateFormItem from "../../GenerateFormItem.vue";
38
43
  export default {
39
44
  components: { GenerateFormItem },
40
- mixins: [itemsComponent],
41
- props: ["models", "prop", "slotKeys", "componentsData"],
45
+ mixins: [itemsComponent, eventMixin],
46
+ props: ["slotKeys", "componentsData"],
42
47
  data() {
43
48
  return {};
44
49
  },
@@ -9,9 +9,9 @@
9
9
  </template>
10
10
 
11
11
  <script>
12
- import { itemsComponent } from "../mixins/index";
12
+ import { itemsComponent, eventMixin } from "../mixins/index";
13
13
  export default {
14
- mixins: [itemsComponent]
14
+ mixins: [itemsComponent, eventMixin]
15
15
  };
16
16
  </script>
17
17
 
@@ -19,9 +19,9 @@
19
19
  </template>
20
20
 
21
21
  <script>
22
- import { itemsComponent } from "../mixins/index";
22
+ import { itemsComponent, eventMixin } from "../mixins/index";
23
23
  export default {
24
- mixins: [itemsComponent]
24
+ mixins: [itemsComponent, eventMixin]
25
25
  };
26
26
  </script>
27
27
 
@@ -23,9 +23,9 @@
23
23
  </template>
24
24
 
25
25
  <script>
26
- import { itemsComponent } from "../mixins/index";
26
+ import { itemsComponent, eventMixin } from "../mixins/index";
27
27
  export default {
28
- mixins: [itemsComponent]
28
+ mixins: [itemsComponent, eventMixin]
29
29
  };
30
30
  </script>
31
31
 
@@ -55,9 +55,9 @@
55
55
  </template>
56
56
 
57
57
  <script>
58
- import { itemsComponent } from "../mixins/index";
58
+ import { itemsComponent, eventMixin } from "../mixins/index";
59
59
  export default {
60
- mixins: [itemsComponent],
60
+ mixins: [itemsComponent, eventMixin],
61
61
  data() {
62
62
  return {
63
63
  dialogVisible: false,
@@ -12,7 +12,7 @@ export const configComponent = {
12
12
  return {};
13
13
  }
14
14
  },
15
- apiConfig: Object
15
+ apiOptions: Array
16
16
  },
17
17
  data() {
18
18
  return {};
@@ -28,24 +28,47 @@ export const configComponent = {
28
28
  };
29
29
 
30
30
  export const itemsComponent = {
31
- props: ["value", "widget", "widgetArray", "models", "select", "config"],
31
+ props: [
32
+ "widget",
33
+ "model",
34
+ "pModel",
35
+ "widgetArray",
36
+ "models",
37
+ "select",
38
+ "config"
39
+ ],
32
40
  data() {
33
41
  return {
34
- dataModel: this.value
42
+ dataModel: this.model
35
43
  };
36
44
  },
37
45
  watch: {
38
- value(val) {
46
+ model(val) {
39
47
  this.dataModel = val;
40
48
  },
41
- dataModel: {
42
- handler(val) {
43
- this.$emit("update:value", val);
44
- },
45
- deep: true
49
+ dataModel(val) {
50
+ this.$emit("update:model", val);
46
51
  }
47
52
  },
48
53
  methods: {
54
+ display(keys) {
55
+ console.log("请在 预览 模式下使用 display 方法");
56
+ },
57
+ hide(keys) {
58
+ console.log("请在 预览 模式下使用 hide 方法");
59
+ },
60
+ setData(obj) {
61
+ console.log("请在 预览 模式下使用 setData 方法");
62
+ },
63
+ getData(obj) {
64
+ console.log("请在 预览 模式下使用 getData 方法");
65
+ }
66
+ }
67
+ };
68
+
69
+ export const eventMixin = {
70
+ methods: {
71
+ // 支撑 JavaScript 动态编译
49
72
  handleEventAction(key) {
50
73
  const eventScript = this.config.eventScript;
51
74
  if (key) {
@@ -62,17 +85,50 @@ export const itemsComponent = {
62
85
  return;
63
86
  }
64
87
  },
88
+ // 显示组件
65
89
  display(keys) {
66
- console.log("请在 预览 模式下使用 display 方法");
90
+ if (!keys || keys.length === 0) return;
91
+ for (let i = 0; i < keys.length; i++) {
92
+ const key = keys[i];
93
+ if (this.componentsData[key]) {
94
+ // this.componentsData[key].options.hidden = false;
95
+ this.$set(this.componentsData[key].options, "hidden", false);
96
+ console.log("display =>", keys, this.componentsData);
97
+ }
98
+ }
67
99
  },
100
+ // 隐藏组件
68
101
  hide(keys) {
69
- console.log("请在 预览 模式下使用 hide 方法");
102
+ if (!keys || keys.length === 0) return;
103
+ for (let i = 0; i < keys.length; i++) {
104
+ const key = keys[i];
105
+ if (this.componentsData[key]) {
106
+ // this.componentsData[key].options.hidden = true;
107
+ this.$set(this.componentsData[key].options, "hidden", true);
108
+ console.log("hide =>", keys, this.componentsData);
109
+ }
110
+ }
70
111
  },
112
+ // 设置数据,仅支持修改当前组件节点下的数据
71
113
  setData(obj) {
72
- console.log("请在 预览 模式下使用 setData 方法");
114
+ const keys = Object.keys(obj);
115
+ for (let i = 0; i < keys.length; i++) {
116
+ const arr = keys[i].split(".");
117
+ if (arr.length === 1) {
118
+ const key = keys[i];
119
+ const value = obj[key];
120
+ this.$set(this.models, key, value);
121
+ } else {
122
+ const key = arr.pop();
123
+ const value = obj[keys[i]];
124
+ const path = arr.join(".");
125
+ this.$set(eval(`this.models.${path}`), key, value);
126
+ }
127
+ }
73
128
  },
129
+ // 获取数据,仅支持获取当前组件节点下的数据
74
130
  getData(obj) {
75
- console.log("请在 预览 模式下使用 getData 方法");
131
+ return this.models;
76
132
  }
77
133
  }
78
134
  };