@kigi/components 1.8.7 → 1.8.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kigi/components",
3
- "version": "1.8.7",
3
+ "version": "1.8.8",
4
4
  "description": "@kigi/components",
5
5
  "main": "src/components/index.ts",
6
6
  "scripts": {
@@ -4,9 +4,10 @@ import { mbgListColumn } from './components/mbg-list-column/mbg-list-column'
4
4
  import { mbgListRow } from './components/mbg-list-row/mbg-list-row'
5
5
 
6
6
  const mbgListModule = angular
7
- .module('mbg.components.mbgList', [])
8
- .component('mbgList', mbgList)
9
- .component('mbgListColumn', mbgListColumn)
10
- .component('mbgListRow', mbgListRow).name
7
+ .module('mbg.components.mbgList', [])
8
+ .component('mbgList', mbgList)
9
+ .component('mbgListColumn', mbgListColumn)
10
+ .component('mbgListRow', mbgListRow)
11
+ .name
11
12
 
12
13
  export { mbgListModule }
@@ -30,8 +30,7 @@
30
30
  </td>
31
31
  <td ng-if="$ctrl.radio && !$row.isAdicional">
32
32
  <mbg-radio ng-model="$ctrl.selectedMap[$ctrl.removeCircularJson($row.$json)]"
33
- ng-change="$ctrl.toogleRadio($ctrl.removeCircularJson($row.$json))"
34
- ng-if="!$ctrl.checkboxIf || $ctrl.checkboxIf({ $row: $row })"></mbg-radio>
33
+ ng-change="$ctrl.toogleRadio($ctrl.removeCircularJson($row.$json))"></mbg-radio>
35
34
  </td>
36
35
  <td ng-repeat="column in $ctrl.columns"
37
36
  ng-if="!$row.isAdicional && !column.hidden"
@@ -209,13 +209,7 @@ export class MbgListController {
209
209
  handleClickRow(row, index) {
210
210
  if (this.rowsAdicional !== index && (this.checkbox || this.radio) && this.enableOnSelectByRow) {
211
211
  if (this.radio) {
212
- if (this.checkboxIf) {
213
- if (this.checkboxIf({ $row: row })) {
214
- this.toogleRadio(row.$json)
215
- }
216
- } else {
217
- this.toogleRadio(row.$json)
218
- }
212
+ this.toogleRadio(row.$json)
219
213
  } else {
220
214
  if (this.checkboxIf) {
221
215
  if (this.checkboxIf({ $row: row })) {
@@ -13,8 +13,8 @@
13
13
  placeholder="$ctrl.placeholderLeft"
14
14
  ng-model-options="{ debounce: 300 }"
15
15
  ng-change="$ctrl.executeFetch()"></mbg-input-search>
16
- <div ng-if="$ctrl.listHeaderTransclude"
17
- mbg-dynamic-html="$ctrl.listHeaderTransclude"></div>
16
+ <div ng-if="$ctrl.listHeaderDataTransclude"
17
+ mbg-dynamic-html="$ctrl.listHeaderDataTransclude"></div>
18
18
  <div class="mbg-multi-list-wrapper"
19
19
  ng-show="$ctrl.data.length > 0">
20
20
  <div ng-if="$ctrl.listRowTransclude"
@@ -32,10 +32,14 @@
32
32
  ng-show="$ctrl.count">
33
33
  <span>{{$ctrl.data.length}} / {{$ctrl.count}}</span>
34
34
  </div>
35
- <div class="row m-b-24 m-t-14" ng-show="$ctrl.pagination.data.length > 0">
35
+ <div class="row m-b-24 m-t-14"
36
+ ng-show="$ctrl.pagination.data.length > 0">
36
37
  <div class="col-md-12">
37
- <mbg-pagination active-page="$ctrl.pagination.page" page-size="$ctrl.pagination.pageSize"
38
- on-change="$ctrl.fetch()" count="$ctrl.pagination.count" page-range-displayed="10">
38
+ <mbg-pagination active-page="$ctrl.pagination.page"
39
+ page-size="$ctrl.pagination.pageSize"
40
+ on-change="$ctrl.fetch()"
41
+ count="$ctrl.pagination.count"
42
+ page-range-displayed="10">
39
43
  </mbg-pagination>
40
44
  </div>
41
45
  </div>
@@ -45,8 +49,8 @@
45
49
  ng-model-options="{ debounce: 300 }"
46
50
  placeholder="$ctrl.placeholderRight"
47
51
  ng-change="$ctrl.searchNgModel()"></mbg-input-search>
48
- <div ng-if="$ctrl.listHeaderTransclude"
49
- mbg-dynamic-html="$ctrl.listHeaderTransclude"></div>
52
+ <div ng-if="$ctrl.listHeaderResultTransclude"
53
+ mbg-dynamic-html="$ctrl.listHeaderResultTransclude"></div>
50
54
  <div class="mbg-multi-list-wrapper result-multi-list-wrapper"
51
55
  ng-show="$ctrl.dataModel.length > 0">
52
56
  <div ng-if="$ctrl.listRowTransclude"
@@ -3,6 +3,7 @@ import './mbg-select-multi-list.scss'
3
3
  import template from './mbg-select-multi-list.html'
4
4
  import * as Fuse from 'fuse.js'
5
5
  import { UtilUID } from '../../helpers/util-uid'
6
+ import _get from 'lodash.get'
6
7
 
7
8
  export class MbgSelectMultiListController {
8
9
  private data: Array<any>
@@ -13,11 +14,13 @@ export class MbgSelectMultiListController {
13
14
  private isLoading: boolean
14
15
  private inputValue: string
15
16
  private listRowTransclude: string
16
- private listHeaderTransclude: string
17
+ private listHeaderDataTransclude: string
18
+ private listHeaderResultTransclude: string
17
19
  private placeholderLeft: string
18
20
  private placeholderRight: string
19
21
  private inputValueResult: string
20
22
  private pagination
23
+ private order
21
24
 
22
25
  constructor(
23
26
  public $scope,
@@ -34,6 +37,7 @@ export class MbgSelectMultiListController {
34
37
  this.$scope.$c = this.$scope.$parent
35
38
  this.findTransclude()
36
39
  this.findTranscludeHeader()
40
+ this.findTranscludeResultHeader()
37
41
  this.$scope.$watch(
38
42
  '$ctrl.data',
39
43
  (data) => {
@@ -63,7 +67,18 @@ export class MbgSelectMultiListController {
63
67
  angular.forEach(cloneEl, (cl) => {
64
68
  let element = angular.element(cl)[0]
65
69
  if (element.nodeName && element.nodeName === 'MBG-HEADER-CONTENT') {
66
- this.listHeaderTransclude = element.innerHTML
70
+ this.listHeaderDataTransclude = element.innerHTML
71
+ }
72
+ })
73
+ })
74
+ }
75
+
76
+ findTranscludeResultHeader() {
77
+ this.$transclude(this.$scope, (cloneEl) => {
78
+ angular.forEach(cloneEl, (cl) => {
79
+ let element = angular.element(cl)[0]
80
+ if (element.nodeName && element.nodeName === 'MBG-HEADER-RESULT-CONTENT') {
81
+ this.listHeaderResultTransclude = element.innerHTML
67
82
  }
68
83
  })
69
84
  })
@@ -144,6 +159,15 @@ export class MbgSelectMultiListController {
144
159
  this.$timeout(() => element.removeClass('active'), 300)
145
160
  }, 100)
146
161
  }
162
+
163
+ executeSort(field, dir) {
164
+ this.order = dir
165
+ this.dataModel = this.dataModel.sort((a, b) =>
166
+ typeof _get(a, field) == 'string'
167
+ ? _get(dir == 'asc' ? a : b, field).localeCompare(_get(dir == 'asc' ? b : a, field))
168
+ : _get(dir == 'asc' ? a : b, field) - _get(dir == 'asc' ? b : a, field),
169
+ )
170
+ }
147
171
  }
148
172
 
149
173
  MbgSelectMultiListController.$inject = [