Skip to content

Commit 2970831

Browse files
committed
fix build errors for exception stuff
1 parent d5ef6a9 commit 2970831

File tree

10 files changed

+106
-183
lines changed

10 files changed

+106
-183
lines changed
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class AttendanceException extends Enum {
4-
}
3+
export default class AttendanceException extends Enumify {
4+
NO_SRC_ATTRIBUTE = AttendanceException("Unable to find data source for attendance module");
5+
_ = AttendanceException.closeEnum();
56

6-
AttendanceException.initEnum({
7-
NO_SRC_ATTRIBUTE: {
8-
get message() {
9-
return "Unable to find data source for attendance module";
10-
}
7+
constructor(message) {
8+
super();
9+
this.message = message;
1110
}
12-
});
13-
14-
export default AttendanceException;
11+
}
Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class CmAttendanceException extends Enum {
4-
}
3+
export default class CmAttendanceException extends Enumify {
4+
SUBMIT_BEFORE_RENDER = CmAttendanceException("Cannot submit updated attendance before the modal renders.");
5+
_ = CmAttendanceException.closeEnum();
56

6-
CmAttendanceException.initEnum({
7-
SUBMIT_BEFORE_RENDER: {
8-
get message() {
9-
return "Cannot submit updated attendance before the modal renders.";
10-
}
7+
constructor(message) {
8+
super();
9+
this.message = message;
1110
}
12-
});
11+
}
1312

14-
export default CmAttendanceException;

frontend/javascript/exceptions/exception.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

33
export default class ConditionalException extends Error {
44
constructor(exception, additionalMessage) {
55
let message = "";
66

7-
if (exception instanceof Enum) {
7+
if (exception instanceof Enumify) {
88
try {
99
message += exception.message;
1010
} catch (e) {
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class FetchException extends Enum {
4-
}
3+
export default class FetchException extends Enumify {
4+
REQUEST_FAILED = new FetchException("Unable to retrieve data from server");
5+
_ = FetchException.closeEnum();
56

6-
FetchException.initEnum({
7-
REQUEST_FAILED: {
8-
get message() {
9-
return "Unable to retrieve data from server";
10-
}
7+
constructor(message) {
8+
super();
9+
this.message = message;
1110
}
12-
});
13-
14-
export default FetchException;
11+
}
Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class HmSearchException extends Enum {
4-
}
3+
export default class HmSearchException extends Enumify {
4+
TARGET_REQUIRED = HmSearchException("A target selector is required to use HouseMeetingSearch");
5+
NOT_A_TABLE = HmSearchException("The HouseMeetingSearch module requires the target to be a table");
6+
_ = HmSearchException.closeEnum();
57

6-
HmSearchException.initEnum({
7-
TARGET_REQUIRED: {
8-
get message() {
9-
return "A target selector is required to use HouseMeetingSearch";
10-
}
11-
},
12-
NOT_A_TABLE: {
13-
get message() {
14-
return "The HouseMeetingSearch module requires the target to be a table";
15-
}
8+
constructor(message) {
9+
super()
10+
this.message = message;
1611
}
17-
});
18-
19-
export default HmSearchException;
12+
}
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class HousingException extends Enum {
4-
}
3+
export default class HousingException extends Enumify {
4+
SUBMIT_BEFORE_RENDER = HousingException("Cannot submit updated roster before the modal renders.");
5+
_ = HousingException.closeEnum();
56

6-
HousingException.initEnum({
7-
SUBMIT_BEFORE_RENDER: {
8-
get message() {
9-
return "Cannot submit updated roster before the modal renders.";
10-
}
7+
constructor(message) {
8+
super();
9+
this.message = message;
1110
}
12-
});
13-
14-
export default HousingException;
11+
}
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1-
import {Enum} from 'enumify';
1+
import { Enumify } from 'enumify';
22

3-
class MasonryException extends Enum {
4-
}
3+
export default class MasonryException extends Enumify {
4+
CANT_FIND_SHARED_SELECTOR = new MasonryException("Unable to find shared selector for Masonry grid items");
5+
_ = MasonryException.closeEnum();
56

6-
MasonryException.initEnum({
7-
CANT_FIND_SHARED_SELECTOR: {
8-
get message() {
9-
return "Unable to find shared selector for Masonry grid items";
10-
}
7+
constructor(message) {
8+
super();
9+
this.message = message;
1110
}
12-
});
13-
14-
export default MasonryException;
11+
}

frontend/javascript/modules/memberSelect.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* global fetch */
22
import "whatwg-fetch";
3-
import "selectize";
3+
import "@selectize/selectize";
44
import FetchUtil from "../utils/fetchUtil";
55
import Exception from "../exceptions/exception";
66
import AttendanceException from "../exceptions/attendanceException";

frontend/stylesheets/components/_select.scss

Lines changed: 51 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -14,121 +14,71 @@
1414
* @author Brian Reavis <[email protected]>
1515
*/
1616

17-
@import './node_modules/csh-material-bootstrap/sass/variables';
18-
@import './node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/nav-divider';
19-
@import './node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/vendor-prefixes';
20-
$selectize-font-family: inherit !default;
21-
$selectize-font-size: inherit !default;
22-
$selectize-color-text: $text-color !default;
23-
$selectize-line-height: $font-size-base !default;
24-
$selectize-color-highlight: rgba(255, 237, 40, .4) !default;
25-
$selectize-color-input: $input-bg !default;
26-
$selectize-color-input-full: $input-bg !default;
27-
$selectize-color-input-error: $state-danger-text !default;
28-
$selectize-color-input-error-focus: darken($selectize-color-input-error, 10%) !default;
29-
$selectize-color-disabled: $input-bg !default;
30-
$selectize-color-item: #efefef !default;
31-
$selectize-color-item-border: rgba(#000, 0) !default;
32-
$selectize-color-item-active: $component-active-bg !default;
33-
$selectize-color-item-active-text: #fff !default;
34-
$selectize-color-item-active-border: rgba(#000, 0) !default;
35-
$selectize-color-optgroup: $dropdown-bg !default;
36-
$selectize-color-optgroup-text: $dropdown-header-color !default;
37-
$selectize-color-optgroup-border: $dropdown-divider-bg !default;
38-
$selectize-color-dropdown: $dropdown-bg !default;
39-
$selectize-color-dropdown-border-top: mix($input-border, $input-bg, .8) !default;
40-
$selectize-color-dropdown-item-active: $dropdown-link-hover-bg !default;
41-
$selectize-color-dropdown-item-active-text: $dropdown-link-hover-color !default;
42-
$selectize-color-dropdown-item-create-active-text: $dropdown-link-hover-color !default;
43-
$selectize-opacity-disabled: .5 !default;
44-
$selectize-shadow-input: none !default;
45-
$selectize-shadow-input-focus: none !default;
46-
$selectize-shadow-input-error: none !default;
47-
$selectize-shadow-input-error-focus: inset 0 1px 1px rgba(#000, .075), 0 0 6px lighten($selectize-color-input-error, 20%) !default;
48-
$selectize-border: 1px solid $input-border !default;
49-
$selectize-border-radius: $input-border-radius !default;
50-
$selectize-width-item-border: 0 !default;
51-
$selectize-padding-x: 0;
52-
$selectize-padding-y: 0;
53-
$selectize-padding-dropdown-item-x: $padding-base-horizontal !default;
54-
$selectize-padding-dropdown-item-y: 3px !default;
55-
$selectize-padding-item-x: 10px !default;
56-
$selectize-padding-item-y: 1px !default;
57-
$selectize-margin-item-x: 5px !default;
58-
$selectize-margin-item-y: 5px !default;
59-
$selectize-caret-margin: 0 !default;
60-
$selectize-arrow-size: 5px !default;
61-
$selectize-arrow-color: $selectize-color-text !default;
62-
$selectize-arrow-offset: $selectize-padding-x + 5px !default;
63-
64-
@import 'selectize';
65-
66-
.selectize-dropdown {
67-
.optgroup {
68-
:first-child {
69-
::before {
70-
display: none;
71-
}
72-
}
73-
74-
::before {
75-
@include nav-divider;
7617

77-
display: block;
78-
margin-right: $selectize-padding-dropdown-item-x * -1;
79-
margin-left: $selectize-padding-dropdown-item-x * -1;
80-
content: ' ';
81-
}
82-
83-
&-header {
84-
line-height: $line-height-base;
85-
font-size: $font-size-small;
86-
}
87-
}
88-
89-
&.form-control {
90-
@include selectize-box-shadow (0 6px 12px rgba(black, .175));
91-
@include selectize-border-radius ($border-radius-base);
18+
@use 'pkg:@selectize/selectize/dist/scss/selectize' as *;
19+
@import './node_modules/csh-material-bootstrap/sass/variables';
9220

93-
z-index: $zindex-dropdown;
94-
margin: 2px 0 0;
95-
border: 1px solid $dropdown-border;
96-
background: $selectize-color-dropdown;
97-
padding: 0;
98-
height: auto;
99-
}
100-
}
21+
// @import './node_modules/bootstrap/mixins/vendor-prefixes';
22+
// $selectize-font-family: inherit !default;
23+
// $selectize-font-size: inherit !default;
24+
// $selectize-color-text: $primary !default;
25+
// $selectize-line-height: $font-size-base !default;
26+
// $selectize-color-highlight: rgba(255, 237, 40, .4) !default;
27+
// $selectize-color-input: $input-bg !default;
28+
// $selectize-color-input-full: $input-bg !default;
29+
// $select-color-input-error: $danger !default;
30+
// $select-color-input-error-focus: darken($select-color-input-error, 10%) !default;
31+
// $selectize-color-disabled: $input-bg !default;
32+
// $selectize-color-item: #efefef !default;
33+
// $selectize-color-item-border: rgba(#000, 0) !default;
34+
// $selectize-color-item-active: $component-active-bg !default;
35+
// $selectize-color-item-active-text: #fff !default;
36+
// $selectize-color-item-active-border: rgba(#000, 0) !default;
37+
// $selectize-color-dropdown: $dropdown-bg !default;
38+
// $selectize-color-dropdown-border-top: mix($input-border, $input-bg, .8) !default;
39+
// $selectize-color-dropdown-item-active: $dropdown-link-hover-bg !default;
40+
// $selectize-color-dropdown-item-active-text: $dropdown-link-hover-color !default;
41+
// $selectize-color-dropdown-item-create-active-text: $dropdown-link-hover-color !default;
42+
// $selectize-opacity-disabled: .5 !default;
43+
// $selectize-shadow-input: none !default;
44+
// $selectize-shadow-input-focus: none !default;
45+
// $selectize-shadow-input-error: none !default;
46+
// $selectize-shadow-input-error-focus: inset 0 1px 1px rgba(#000, .075), 0 0 6px lighten($selectize-color-input-error, 20%) !default;
47+
// $selectize-border: 1px solid $input-border !default;
48+
$selectize-border-radius: $input-border-radius !default;
49+
// $selectize-width-item-border: 0 !default;
50+
// $selectize-padding-x: 0;
51+
// $selectize-padding-y: 0;
52+
// $selectize-padding-dropdown-item-x: $padding-base-horizontal !default;
53+
// $selectize-padding-dropdown-item-y: 3px !default;
54+
// $selectize-padding-item-x: 10px !default;
55+
// $selectize-padding-item-y: 1px !default;
56+
// $selectize-margin-item-x: 5px !default;
57+
// $selectize-margin-item-y: 5px !default;
58+
// $selectize-caret-margin: 0 !default;
59+
// $selectize-arrow-size: 5px !default;
60+
// $selectize-arrow-color: $selectize-color-text !default;
61+
// $selectize-arrow-offset: $selectize-padding-x + 5px !default;
10162

10263
.selectize-dropdown-content {
10364
padding: 5px 0;
104-
}
10565

106-
.selectize-dropdown-header {
107-
padding: $selectize-padding-dropdown-item-y * 2 $selectize-padding-dropdown-item-x;
66+
67+
.option {
68+
line-height: 23px;
69+
}
10870
}
10971

11072
.selectize-input {
11173
min-height: $input-height-base;
11274

11375
&.dropdown-active {
114-
@include selectize-border-radius ($selectize-border-radius);
76+
border-radius: $selectize-border-radius;
11577

11678
::before {
11779
display: none;
11880
}
11981
}
120-
121-
.has-error {
122-
@include selectize-box-shadow ($selectize-shadow-input-error);
123-
124-
border-color: $selectize-color-input-error;
125-
126-
&:focus {
127-
@include selectize-box-shadow ($selectize-shadow-input-error-focus);
128-
129-
border-color: $selectize-color-input-error-focus;
130-
}
131-
}
13282
}
13383

13484
.selectize-control {
@@ -140,7 +90,7 @@ $selectize-arrow-offset: $selectize-padding-x + 5px !default;
14090
}
14191

14292
& > div {
143-
@include selectize-border-radius ($selectize-border-radius - 1px);
93+
border-radius: $select-border-radius - 1px;
14494
}
14595
}
14696
}
@@ -154,8 +104,8 @@ $selectize-arrow-offset: $selectize-padding-x + 5px !default;
154104
}
155105

156106
&.form-control {
157-
@include selectize-border-radius (0);
158-
@include selectize-box-shadow (inset 0 -1px 0 #ddd);
107+
border-radius: 0;
108+
border-radius: inset 0 -1px 0 #ddd;
159109

160110
border: 0;
161111
background: none;

webpack.config.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
var webpack = require('webpack')
1+
var webpack = require('webpack');
22
var path = require('path');
33

44
var jsSrc = path.resolve('./frontend/javascript');
5-
var jsDest = path.resolve('./conditional/static/js');
5+
var jsDest = path.resolve('./conditional/static');
66
var publicPath = 'static/js';
77

88
var babelQuery = {
@@ -15,7 +15,7 @@ var webpackConfig = {
1515
entry: ["./app.js"],
1616
output: {
1717
path: path.normalize(jsDest),
18-
filename: '[name].js',
18+
filename: 'js/app.js',
1919
publicPath: publicPath
2020
},
2121
plugins: [
@@ -25,12 +25,6 @@ var webpackConfig = {
2525
}
2626
}),
2727
],
28-
// resolve: {
29-
// modules: [
30-
// path.join(__dirname, "frontend/node_modules"),
31-
// path.join(__dirname, "frontend/javascript"),
32-
// ],
33-
// },
3428
mode: 'production',
3529
module: {
3630
rules: [

0 commit comments

Comments
 (0)