Skip to content

Commit 2c8f140

Browse files
implemented "one npm package" structure
1 parent 266e891 commit 2c8f140

File tree

18 files changed

+499
-487
lines changed

18 files changed

+499
-487
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ tmp/*
88
*.cmd
99
.tsdrc
1010
.idea
11-
/packages/**/*
11+
/package/**/*
1212
/.gitattributes
1313
project.json
1414
/lib_typings

examples/angular/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<script src="http://127.0.0.1:8080/packages/survey-angular/survey.angular.js"></script>
2727

2828

29-
<script src="../../packages/survey-cw-angular/select2.js"></script>
29+
<script src="../../package/surveyjs-widgets/select2.js"></script>
3030
</head>
3131

3232
<body>

examples/jquery/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<script src="http://127.0.0.1:8080/packages/survey-jquery/survey.jquery.js"></script>
1717

1818

19-
<script src="../../packages/survey-cw-jquery/select2.js"></script>
19+
<script src="../../package/surveyjs-widgets/select2.js"></script>
2020
</head>
2121

2222
<body>

examples/knockout/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<script src="http://127.0.0.1:8080/packages/survey-knockout/survey.ko.js"></script>
1919

2020

21-
<script src="../../packages/survey-cw-knockout/select2.js"></script>
21+
<script src="../../package/surveyjs-widgets/select2.js"></script>
2222
</head>
2323

2424
<body>

examples/react/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<script src="http://127.0.0.1:8080/packages/survey-react/survey.react.js"></script>
2121

2222

23-
<script src="../../packages/survey-cw-react/select2.js"></script>
23+
<script src="../../package/surveyjs-widgets/select2.js"></script>
2424
</head>
2525

2626
<body>

examples/vue/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<script src="http://127.0.0.1:8080/packages/survey-vue/survey.vue.js"></script>
1919

2020

21-
<script src="../../packages/survey-cw-vue/select2.js"></script>
21+
<script src="../../package/surveyjs-widgets/select2.js"></script>
2222
</head>
2323

2424
<body>

package.json

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,8 @@
22
"name": "surveyjs-widgets",
33
"version": "0.12.32",
44
"scripts": {
5-
"build_knockout_dev": "webpack --env.buildType dev --env.platform knockout",
6-
"build_react_dev": "webpack --env.buildType dev --env.platform react",
7-
"build_angular_dev": "webpack --env.buildType dev --env.platform angular",
8-
"build_jquery_dev": "webpack --env.buildType dev --env.platform jquery",
9-
"build_vue_dev": "webpack --env.buildType dev --env.platform vue",
10-
"build_dev": "concurrently \"npm run build_knockout_dev\" \"npm run build_react_dev\" \"npm run build_angular_dev\" \"npm run build_jquery_dev\" \"npm run build_vue_dev\"",
11-
"build_knockout_prod": "webpack --env.buildType prod --env.platform knockout",
12-
"build_react_prod": "webpack --env.buildType prod --env.platform react",
13-
"build_angular_prod": "webpack --env.buildType prod --env.platform angular",
14-
"build_jquery_prod": "webpack --env.buildType prod --env.platform jquery",
15-
"build_vue_prod": "webpack --env.buildType prod --env.platform vue",
16-
"build_prod": "npm run build_dev && concurrently \"npm run build_knockout_prod\" \"npm run build_react_prod\" \"npm run build_angular_prod\" \"npm run build_jquery_prod\" \"npm run build_vue_prod\""
5+
"start": "webpack-dev-server --env.buildType dev",
6+
"build": "webpack --env.buildType dev && webpack --env.buildType prod"
177
},
188
"private": true,
199
"devDependencies": {

src/barrating.js

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,38 @@
1-
import "./surveyjs_importer.js";
2-
3-
var widget = {
4-
name: "barrating",
5-
isFit : function(question) { return question.getType() === 'barrating'; },
6-
isDefaultRender: true,
7-
activatedByChanged: function(activatedBy) {
8-
Survey.JsonObject.metaData.addClass("barrating", [ {name: "ratingTheme", default: "fontawesome-stars", choices: ["fontawesome-stars", "css-stars", "bars-pill", "bars-1to10", "bars-movie", "bars-square", "bars-reversed", "bars-horizontal", "bootstrap-stars", "fontawesome-stars-o"]},
9-
{name: "showValues", default: false}, {name:"hasOther", visible: false}], null, "dropdown");
10-
},
11-
afterRender: function(question, el) {
12-
var $el = $(el).is("select") ? $(el) : $(el).find("select");
13-
$el.barrating('show', {
14-
theme: question.ratingTheme,
15-
initialRating: question.value,
16-
showValues: question.showValues,
17-
showSelectedRating: false,
18-
onSelect: function(value, text) {
19-
question.value = value;
1+
function init(Survey) {
2+
var widget = {
3+
name: "barrating",
4+
isFit : function(question) { return question.getType() === 'barrating'; },
5+
isDefaultRender: true,
6+
activatedByChanged: function(activatedBy) {
7+
Survey.JsonObject.metaData.addClass("barrating", [ {name: "ratingTheme", default: "fontawesome-stars", choices: ["fontawesome-stars", "css-stars", "bars-pill", "bars-1to10", "bars-movie", "bars-square", "bars-reversed", "bars-horizontal", "bootstrap-stars", "fontawesome-stars-o"]},
8+
{name: "showValues", default: false}, {name:"hasOther", visible: false}], null, "dropdown");
9+
},
10+
afterRender: function(question, el) {
11+
var $el = $(el).is("select") ? $(el) : $(el).find("select");
12+
$el.barrating('show', {
13+
theme: question.ratingTheme,
14+
initialRating: question.value,
15+
showValues: question.showValues,
16+
showSelectedRating: false,
17+
onSelect: function(value, text) {
18+
question.value = value;
19+
}
20+
});
21+
question.valueChangedCallback = function() {
22+
$(el).find('select').barrating('set', question.value);
2023
}
21-
});
22-
question.valueChangedCallback = function() {
23-
$(el).find('select').barrating('set', question.value);
24-
}
25-
},
26-
willUnmount: function(question, el) {
27-
var $el = $(el).find("select");
28-
$el.barrating('destroy');
29-
}
24+
},
25+
willUnmount: function(question, el) {
26+
var $el = $(el).find("select");
27+
$el.barrating('destroy');
28+
}
29+
}
30+
31+
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");
32+
}
33+
34+
if (typeof Survey !== "undefined") {
35+
init(Survey);
3036
}
3137

32-
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");
38+
export default init;

src/datepicker.js

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,38 @@
1-
import "./surveyjs_importer.js";
2-
3-
var widget = {
4-
name: "datepicker",
5-
isFit : function(question) { return question.getType() === 'datepicker'; },
6-
htmlTemplate: "<input class='widget-datepicker' type='text' style='width: 100%;'>",
7-
activatedByChanged: function(activatedBy) {
8-
Survey.JsonObject.metaData.addClass("datepicker",
9-
[{name: "dateFormat", default: "mm/dd/yy", choices: ["mm/dd/yy", "yy-mm-dd", "d M, y", "d MM, y", "DD, d MM, yy", "'day' d 'of' MM 'in the year' yy"]}],
10-
null, "text");
11-
},
12-
afterRender: function(question, el) {
13-
var $el = $(el).is(".widget-datepicker") ? $(el) : $(el).find(".widget-datepicker");
14-
var pickerWidget = $el.datepicker({
15-
dateFormat: question.dateFormat,
16-
onSelect: function(dateText) {
17-
question.value = dateText;
1+
function init(Survey) {
2+
var widget = {
3+
name: "datepicker",
4+
isFit : function(question) { return question.getType() === 'datepicker'; },
5+
htmlTemplate: "<input class='widget-datepicker' type='text' style='width: 100%;'>",
6+
activatedByChanged: function(activatedBy) {
7+
Survey.JsonObject.metaData.addClass("datepicker",
8+
[{name: "dateFormat", default: "mm/dd/yy", choices: ["mm/dd/yy", "yy-mm-dd", "d M, y", "d MM, y", "DD, d MM, yy", "'day' d 'of' MM 'in the year' yy"]}],
9+
null, "text");
10+
},
11+
afterRender: function(question, el) {
12+
var $el = $(el).is(".widget-datepicker") ? $(el) : $(el).find(".widget-datepicker");
13+
var pickerWidget = $el.datepicker({
14+
dateFormat: question.dateFormat,
15+
onSelect: function(dateText) {
16+
question.value = dateText;
17+
}
18+
});
19+
question.valueChangedCallback = function() {
20+
pickerWidget.datepicker('setDate', new Date(question.value));
1821
}
19-
});
20-
question.valueChangedCallback = function() {
21-
pickerWidget.datepicker('setDate', new Date(question.value));
22-
}
23-
question.valueChangedCallback();
24-
if(!question.value) question.value = new Date();
25-
},
26-
willUnmount: function(question, el) {
27-
var $el = $(el).is(".widget-datepicker") ? $(el) : $(el).find(".widget-datepicker");
28-
$el.datepicker("destroy");
29-
}
22+
question.valueChangedCallback();
23+
if(!question.value) question.value = new Date();
24+
},
25+
willUnmount: function(question, el) {
26+
var $el = $(el).is(".widget-datepicker") ? $(el) : $(el).find(".widget-datepicker");
27+
$el.datepicker("destroy");
28+
}
29+
}
30+
31+
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");
32+
}
33+
34+
if (typeof Survey !== "undefined") {
35+
init(Survey);
3036
}
3137

32-
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");
38+
export default init;

src/icheck.js

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,54 @@
1-
import "./surveyjs_importer.js";
2-
3-
var widget = {
4-
className: "iradio_square-blue",
5-
name: "icheck",
6-
isFit : function(question) { var t = question.getType(); return t === 'radiogroup' || t === 'checkbox' || t === 'matrix'; },
7-
isDefaultRender: true,
8-
afterRender: function(question, el) {
9-
var rootWidget = this;
10-
var $el = $(el);
11-
$el.find('input').data({"iCheck": undefined});
12-
13-
$el.find('input').iCheck({
14-
checkboxClass: rootWidget.className,
15-
radioClass: rootWidget.className
16-
});
17-
var select = function() {
18-
if(question.getType() != "matrix") {
19-
$el.find("input[value=" + question.value + "]").iCheck('check');
20-
} else {
21-
question.generatedVisibleRows.forEach(function(row, index, rows) {
22-
if (row.value) {
23-
$(el).find("input[name='" + row.fullName + "'][value=" + row.value + "]").iCheck('check');
24-
}
25-
});
26-
}
27-
}
28-
$el.find('input').on('ifChecked', function(event) {
29-
if(question.getType() != "matrix") {
30-
question.value = event.target.value;
31-
} else {
32-
question.generatedVisibleRows.forEach(function(row, index, rows) {
33-
if (row.fullName === event.target.name) {
34-
row.value = event.target.value
35-
}
36-
});
1+
function init(Survey) {
2+
var widget = {
3+
className: "iradio_square-blue",
4+
name: "icheck",
5+
isFit : function(question) { var t = question.getType(); return t === 'radiogroup' || t === 'checkbox' || t === 'matrix'; },
6+
isDefaultRender: true,
7+
afterRender: function(question, el) {
8+
var rootWidget = this;
9+
var $el = $(el);
10+
$el.find('input').data({"iCheck": undefined});
11+
12+
$el.find('input').iCheck({
13+
checkboxClass: rootWidget.className,
14+
radioClass: rootWidget.className
15+
});
16+
var select = function() {
17+
if(question.getType() != "matrix") {
18+
$el.find("input[value=" + question.value + "]").iCheck('check');
19+
} else {
20+
question.generatedVisibleRows.forEach(function(row, index, rows) {
21+
if (row.value) {
22+
$(el).find("input[name='" + row.fullName + "'][value=" + row.value + "]").iCheck('check');
23+
}
24+
});
25+
}
3726
}
38-
});
39-
question.valueChangedCallback = select;
40-
select();
41-
},
42-
willUnmount: function(question, el) {
43-
var $el = $(el);
44-
$el.find('input').iCheck('destroy');
45-
}
27+
$el.find('input').on('ifChecked', function(event) {
28+
if(question.getType() != "matrix") {
29+
question.value = event.target.value;
30+
} else {
31+
question.generatedVisibleRows.forEach(function(row, index, rows) {
32+
if (row.fullName === event.target.name) {
33+
row.value = event.target.value
34+
}
35+
});
36+
}
37+
});
38+
question.valueChangedCallback = select;
39+
select();
40+
},
41+
willUnmount: function(question, el) {
42+
var $el = $(el);
43+
$el.find('input').iCheck('destroy');
44+
}
45+
}
46+
47+
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "type");
48+
}
49+
50+
if (typeof Survey !== "undefined") {
51+
init(Survey);
4652
}
4753

48-
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "type");
54+
export default init;

0 commit comments

Comments
 (0)