123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { deepCopy, getElementId, randomCode } from "../../../../plugins/utils";
- const MODEL = {
- type: "FILL_LINE",
- x: 0,
- y: 0,
- w: 500,
- h: 100,
- minHeight: 40,
- sign: "subjective",
- topicName: "",
- topicNo: null,
- startNumber: 1,
- questionsCount: 4,
- questionNumberPerLine: 2,
- lineNumberPerQuestion: 1,
- lineSpacing: 40,
- questionDirection: "vertical",
- questionLineType: "norm",
- questionLineNums: [],
- numberPre: "",
- isCovered: false
- };
- const getModel = (options = {}) => {
- let model = Object.assign({}, deepCopy(MODEL), options);
- model.key = randomCode();
- if (!model.id) model.id = getElementId();
- if (model.questionLineType === "norm") {
- let questionLineNums = [];
- for (
- let j = model.startNumber;
- j < model.startNumber + model.questionsCount;
- j++
- ) {
- questionLineNums.push({
- no: j,
- count: model.lineNumberPerQuestion
- });
- }
- model.questionLineNums = questionLineNums;
- } else {
- const orgQuestionLineCounts = model.questionLineNums.map(
- item => item.count
- );
- let questionLineNums = [];
- for (let j = 0; j < model.questionsCount; j++) {
- questionLineNums.push({
- no: j + model.startNumber,
- count: orgQuestionLineCounts[j] || model.lineNumberPerQuestion
- });
- }
- model.questionLineNums = questionLineNums;
- }
- return model;
- };
- export { MODEL, getModel };
|