@sprucelabs/spruce-role-utils 0.3.1 → 0.4.2

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.
@@ -18,6 +18,8 @@ export default class RoleSelectCardViewController extends AbstractViewController
18
18
  private getRow;
19
19
  deselectRole(id: string): void;
20
20
  private rowVc;
21
+ disableFooter(): void;
22
+ enableFooter(): void;
21
23
  render(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Card;
22
24
  }
23
25
  export interface RoleSelectCardOptions {
@@ -115,7 +115,13 @@ export default class RoleSelectCardViewController extends AbstractViewController
115
115
  return __awaiter(this, void 0, void 0, function* () {
116
116
  const rowVc = this.getRow(id);
117
117
  rowVc.setIsEnabled(true);
118
- yield rowVc.setValue('requirement', requirement);
118
+ const current = rowVc.getValue('requirement');
119
+ if (current !== requirement) {
120
+ yield rowVc.setValue('requirement', requirement);
121
+ }
122
+ else {
123
+ yield this.handleDidChange();
124
+ }
119
125
  });
120
126
  }
121
127
  getRow(roleId) {
@@ -128,6 +134,12 @@ export default class RoleSelectCardViewController extends AbstractViewController
128
134
  rowVc(roleId) {
129
135
  return this.activeCardVc.getRowVc(roleId);
130
136
  }
137
+ disableFooter() {
138
+ this.activeCardVc.disableFooter();
139
+ }
140
+ enableFooter() {
141
+ this.activeCardVc.enableFooter();
142
+ }
131
143
  render() {
132
144
  return this.activeCardVc.render();
133
145
  }
@@ -18,6 +18,8 @@ export default class RoleSelectCardViewController extends AbstractViewController
18
18
  private getRow;
19
19
  deselectRole(id: string): void;
20
20
  private rowVc;
21
+ disableFooter(): void;
22
+ enableFooter(): void;
21
23
  render(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Card;
22
24
  }
23
25
  export interface RoleSelectCardOptions {
@@ -99,7 +99,13 @@ class RoleSelectCardViewController extends heartwood_view_controllers_1.Abstract
99
99
  async selectRole(id, requirement = 'optional') {
100
100
  const rowVc = this.getRow(id);
101
101
  rowVc.setIsEnabled(true);
102
- await rowVc.setValue('requirement', requirement);
102
+ const current = rowVc.getValue('requirement');
103
+ if (current !== requirement) {
104
+ await rowVc.setValue('requirement', requirement);
105
+ }
106
+ else {
107
+ await this.handleDidChange();
108
+ }
103
109
  }
104
110
  getRow(roleId) {
105
111
  return this.activeCardVc.getRowVc(roleId);
@@ -111,6 +117,12 @@ class RoleSelectCardViewController extends heartwood_view_controllers_1.Abstract
111
117
  rowVc(roleId) {
112
118
  return this.activeCardVc.getRowVc(roleId);
113
119
  }
120
+ disableFooter() {
121
+ this.activeCardVc.disableFooter();
122
+ }
123
+ enableFooter() {
124
+ this.activeCardVc.enableFooter();
125
+ }
114
126
  render() {
115
127
  return this.activeCardVc.render();
116
128
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sprucelabs/spruce-role-utils",
3
3
  "description": "Useful role utilities",
4
- "version": "0.3.1",
4
+ "version": "0.4.2",
5
5
  "skill": {
6
6
  "namespace": "role"
7
7
  },