@pie-element/inline-dropdown 4.7.1-beta.1 → 4.7.1-beta.3
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/configure/lib/__tests__/inline-dropdown-toolbar.test.js +112 -0
- package/configure/lib/__tests__/main.test.js +492 -0
- package/configure/lib/__tests__/markupUtils.test.js +107 -0
- package/configure/lib/defaults.js +78 -0
- package/configure/lib/index.js +137 -0
- package/configure/lib/inline-dropdown-toolbar.js +401 -0
- package/configure/lib/main.js +636 -0
- package/configure/lib/markupUtils.js +55 -0
- package/configure/lib/utils.js +15 -0
- package/configure/package.json +3 -3
- package/controller/lib/__tests__/index.test.js +858 -0
- package/controller/lib/defaults.js +11 -0
- package/controller/lib/index.js +292 -0
- package/controller/lib/utils.js +33 -0
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/inline-dropdown.test.js +113 -0
- package/lib/index.js +87 -0
- package/lib/inline-dropdown.js +182 -0
- package/package.json +4 -4
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
+
var _enzyme = require("enzyme");
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _inlineDropdownToolbar = require("../inline-dropdown-toolbar");
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
+
describe('Main', function () {
|
|
11
|
+
var onAddChoice = jest.fn();
|
|
12
|
+
var onRemoveChoice = jest.fn();
|
|
13
|
+
var onSelectChoice = jest.fn();
|
|
14
|
+
var onToolbarDone = jest.fn();
|
|
15
|
+
var value = {
|
|
16
|
+
change: jest.fn().mockReturnValue({
|
|
17
|
+
setNodeByKey: jest.fn().mockReturnValue({
|
|
18
|
+
moveFocusTo: jest.fn().mockReturnValue({
|
|
19
|
+
moveAnchorTo: jest.fn()
|
|
20
|
+
})
|
|
21
|
+
})
|
|
22
|
+
}),
|
|
23
|
+
document: {
|
|
24
|
+
getNextText: jest.fn().mockReturnValue({
|
|
25
|
+
key: '1'
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var wrapper = function wrapper() {
|
|
30
|
+
var defaults = {
|
|
31
|
+
onAddChoice: onAddChoice,
|
|
32
|
+
onRemoveChoice: onRemoveChoice,
|
|
33
|
+
onSelectChoice: onSelectChoice,
|
|
34
|
+
node: {
|
|
35
|
+
key: '1',
|
|
36
|
+
data: {
|
|
37
|
+
toJSON: jest.fn(),
|
|
38
|
+
get: function get(key) {
|
|
39
|
+
if (key === 'index') {
|
|
40
|
+
return '0';
|
|
41
|
+
}
|
|
42
|
+
return 'cow';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
value: value,
|
|
47
|
+
onToolbarDone: onToolbarDone,
|
|
48
|
+
choices: [{
|
|
49
|
+
label: 'cow ',
|
|
50
|
+
value: '0',
|
|
51
|
+
correct: true
|
|
52
|
+
}, {
|
|
53
|
+
label: 'dog ',
|
|
54
|
+
value: '1',
|
|
55
|
+
correct: false
|
|
56
|
+
}, {
|
|
57
|
+
label: 'cat ',
|
|
58
|
+
value: '2',
|
|
59
|
+
correct: false
|
|
60
|
+
}]
|
|
61
|
+
};
|
|
62
|
+
var props = _objectSpread({}, defaults);
|
|
63
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_inlineDropdownToolbar.RespAreaToolbar, props), {
|
|
64
|
+
disableLifecycleMethods: true
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
describe('snapshot', function () {
|
|
68
|
+
it('Renders', function () {
|
|
69
|
+
expect(wrapper()).toMatchSnapshot();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('logic', function () {
|
|
73
|
+
var w;
|
|
74
|
+
beforeEach(function () {
|
|
75
|
+
w = wrapper();
|
|
76
|
+
});
|
|
77
|
+
describe('onRespAreaChange', function () {
|
|
78
|
+
it('sets state', function () {
|
|
79
|
+
w.instance().onRespAreaChange('<div>test</div>');
|
|
80
|
+
expect(w.instance().state.respAreaMarkup).toEqual('<div>test</div>');
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
describe('onDone', function () {
|
|
84
|
+
it('does not call onAddChoice if choice is empty', function () {
|
|
85
|
+
w.instance().onDone('<div><p></p></div>');
|
|
86
|
+
expect(onAddChoice).not.toBeCalled();
|
|
87
|
+
});
|
|
88
|
+
it('calls onAddChoice if choice not empty', function () {
|
|
89
|
+
w.instance().onDone('<div>test</div>');
|
|
90
|
+
expect(onAddChoice).toBeCalledWith('0', '<div>test</div>');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe('onSelectChoice', function () {
|
|
94
|
+
it('calls onToolbarDone and onSelectChoice', function () {
|
|
95
|
+
w.instance().onSelectChoice('cat', '2');
|
|
96
|
+
expect(onToolbarDone).toBeCalled();
|
|
97
|
+
expect(onSelectChoice).toBeCalledWith('2');
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
describe('onRemoveChoice', function () {
|
|
101
|
+
it('calls onToolbarChange if removed value is the one selected as correct', function () {
|
|
102
|
+
w.instance().onRemoveChoice('cow', '0');
|
|
103
|
+
expect(onToolbarDone).toBeCalled();
|
|
104
|
+
});
|
|
105
|
+
it('calls onRemoveChoice if removed value is not the one selected as correct', function () {
|
|
106
|
+
w.instance().onRemoveChoice('cat', '2');
|
|
107
|
+
expect(onRemoveChoice).toBeCalledWith('2');
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZW56eW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW5saW5lRHJvcGRvd25Ub29sYmFyIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJkZXNjcmliZSIsIm9uQWRkQ2hvaWNlIiwiamVzdCIsImZuIiwib25SZW1vdmVDaG9pY2UiLCJvblNlbGVjdENob2ljZSIsIm9uVG9vbGJhckRvbmUiLCJ2YWx1ZSIsImNoYW5nZSIsIm1vY2tSZXR1cm5WYWx1ZSIsInNldE5vZGVCeUtleSIsIm1vdmVGb2N1c1RvIiwibW92ZUFuY2hvclRvIiwiZG9jdW1lbnQiLCJnZXROZXh0VGV4dCIsIndyYXBwZXIiLCJkZWZhdWx0cyIsIm5vZGUiLCJkYXRhIiwidG9KU09OIiwiZ2V0IiwiY2hvaWNlcyIsImxhYmVsIiwiY29ycmVjdCIsInByb3BzIiwic2hhbGxvdyIsImNyZWF0ZUVsZW1lbnQiLCJSZXNwQXJlYVRvb2xiYXIiLCJkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidyIsImJlZm9yZUVhY2giLCJpbnN0YW5jZSIsIm9uUmVzcEFyZWFDaGFuZ2UiLCJzdGF0ZSIsInJlc3BBcmVhTWFya3VwIiwidG9FcXVhbCIsIm9uRG9uZSIsIm5vdCIsInRvQmVDYWxsZWQiLCJ0b0JlQ2FsbGVkV2l0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5saW5lLWRyb3Bkb3duLXRvb2xiYXIudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBSZXNwQXJlYVRvb2xiYXIgfSBmcm9tICcuLi9pbmxpbmUtZHJvcGRvd24tdG9vbGJhcic7XG5cbmRlc2NyaWJlKCdNYWluJywgKCkgPT4ge1xuICBsZXQgb25BZGRDaG9pY2UgPSBqZXN0LmZuKCk7XG4gIGxldCBvblJlbW92ZUNob2ljZSA9IGplc3QuZm4oKTtcbiAgbGV0IG9uU2VsZWN0Q2hvaWNlID0gamVzdC5mbigpO1xuICBsZXQgb25Ub29sYmFyRG9uZSA9IGplc3QuZm4oKTtcblxuICBjb25zdCB2YWx1ZSA9IHtcbiAgICBjaGFuZ2U6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgc2V0Tm9kZUJ5S2V5OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgbW92ZUZvY3VzVG86IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIG1vdmVBbmNob3JUbzogamVzdC5mbigpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIGRvY3VtZW50OiB7XG4gICAgICBnZXROZXh0VGV4dDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgIGtleTogJzEnLFxuICAgICAgfSksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCB3cmFwcGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgb25BZGRDaG9pY2UsXG4gICAgICBvblJlbW92ZUNob2ljZSxcbiAgICAgIG9uU2VsZWN0Q2hvaWNlLFxuICAgICAgbm9kZToge1xuICAgICAgICBrZXk6ICcxJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHRvSlNPTjogamVzdC5mbigpLFxuICAgICAgICAgIGdldDogKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2luZGV4Jykge1xuICAgICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gJ2Nvdyc7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uVG9vbGJhckRvbmUsXG4gICAgICBjaG9pY2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ2NvdyAnLFxuICAgICAgICAgIHZhbHVlOiAnMCcsXG4gICAgICAgICAgY29ycmVjdDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnZG9nICcsXG4gICAgICAgICAgdmFsdWU6ICcxJyxcbiAgICAgICAgICBjb3JyZWN0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnY2F0ICcsXG4gICAgICAgICAgdmFsdWU6ICcyJyxcbiAgICAgICAgICBjb3JyZWN0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMgfTtcblxuICAgIHJldHVybiBzaGFsbG93KDxSZXNwQXJlYVRvb2xiYXIgey4uLnByb3BzfSAvPiwgeyBkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kczogdHJ1ZSB9KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ1JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ29uUmVzcEFyZWFDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICBpdCgnc2V0cyBzdGF0ZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uUmVzcEFyZWFDaGFuZ2UoJzxkaXY+dGVzdDwvZGl2PicpO1xuXG4gICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuc3RhdGUucmVzcEFyZWFNYXJrdXApLnRvRXF1YWwoJzxkaXY+dGVzdDwvZGl2PicpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnb25Eb25lJywgKCkgPT4ge1xuICAgICAgaXQoJ2RvZXMgbm90IGNhbGwgb25BZGRDaG9pY2UgaWYgY2hvaWNlIGlzIGVtcHR5JywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkub25Eb25lKCc8ZGl2PjxwPjwvcD48L2Rpdj4nKTtcblxuICAgICAgICBleHBlY3Qob25BZGRDaG9pY2UpLm5vdC50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uQWRkQ2hvaWNlIGlmIGNob2ljZSBub3QgZW1wdHknLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkRvbmUoJzxkaXY+dGVzdDwvZGl2PicpO1xuXG4gICAgICAgIGV4cGVjdChvbkFkZENob2ljZSkudG9CZUNhbGxlZFdpdGgoJzAnLCAnPGRpdj50ZXN0PC9kaXY+Jyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdvblNlbGVjdENob2ljZScsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvblRvb2xiYXJEb25lIGFuZCBvblNlbGVjdENob2ljZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uU2VsZWN0Q2hvaWNlKCdjYXQnLCAnMicpO1xuXG4gICAgICAgIGV4cGVjdChvblRvb2xiYXJEb25lKS50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdENob2ljZSkudG9CZUNhbGxlZFdpdGgoJzInKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ29uUmVtb3ZlQ2hvaWNlJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uVG9vbGJhckNoYW5nZSBpZiByZW1vdmVkIHZhbHVlIGlzIHRoZSBvbmUgc2VsZWN0ZWQgYXMgY29ycmVjdCcsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uUmVtb3ZlQ2hvaWNlKCdjb3cnLCAnMCcpO1xuXG4gICAgICAgIGV4cGVjdChvblRvb2xiYXJEb25lKS50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uUmVtb3ZlQ2hvaWNlIGlmIHJlbW92ZWQgdmFsdWUgaXMgbm90IHRoZSBvbmUgc2VsZWN0ZWQgYXMgY29ycmVjdCcsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uUmVtb3ZlQ2hvaWNlKCdjYXQnLCAnMicpO1xuXG4gICAgICAgIGV4cGVjdChvblJlbW92ZUNob2ljZSkudG9CZUNhbGxlZFdpdGgoJzInKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsc0JBQUEsR0FBQUgsT0FBQTtBQUE2RCxTQUFBSSxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBSixNQUFBLEdBQUFDLGNBQUEsS0FBQUksT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBSixNQUFBLENBQUFLLHdCQUFBLENBQUFSLE1BQUEsRUFBQU8sR0FBQSxFQUFBRSxVQUFBLE9BQUFQ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
|