diff --git a/application/controllers/admin/questionedit.php b/application/controllers/admin/questionedit.php
index 9df933c9b0b..ba1f98b7c5d 100644
--- a/application/controllers/admin/questionedit.php
+++ b/application/controllers/admin/questionedit.php
@@ -28,7 +28,6 @@
*/
class questionedit extends Survey_Common_Action
{
-
public function view($surveyid, $gid, $qid)
{
$aData = array();
@@ -89,30 +88,45 @@ public function view($surveyid, $gid, $qid)
**** All called via ajax
****/
- public function getPossibleLanguages($iSurveyId){
+ public function getPossibleLanguages($iSurveyId)
+ {
$iSurveyId = (int) $iSurveyId;
$aLanguages = Survey::model()->findByPk($iSurveyId)->allLanguages;
$this->renderJSON($aLanguages);
}
- public function getQuestionData($iQuestionId){
+ public function getQuestionData($iQuestionId)
+ {
$iQuestionId = (int) $iQuestionId;
$oQuestion = Question::model()->findByPk($iQuestionId);
-
- $this->renderJSON(['question' => $oQuestion, 'i10n' => $oQuestion->questionL10ns]);
+ $aLanguages = [];
+ $aAllLanguages = getLanguageData(false, Yii::app()->session['adminlang']);
+ $aSurveyLanguages = $oQuestion->survey->getAllLanguages();
+ array_walk($aSurveyLanguages, function ($lngString) use (&$aLanguages, $aAllLanguages) {
+ $aLanguages[$lngString] = $aAllLanguages[$lngString]['description'];
+ });
+ $this->renderJSON([
+ 'question' => $oQuestion,
+ 'i10n' => $oQuestion->questionL10ns,
+ 'languages' => $aLanguages,
+ 'mainLanguage' => $oQuestion->survey->language
+ ]);
}
- public function getQuestionAttributeData($iQuestionId){
+ public function getQuestionAttributeData($iQuestionId)
+ {
$iQuestionId = (int) $iQuestionId;
$aQuestionAttributes = QuestionAttribute::model()->getQuestionAttributes($iQuestionId);
$this->renderJSON($aQuestionAttributes);
}
- public function getQuestionTypeList() {
+ public function getQuestionTypeList()
+ {
$this->renderJSON(QuestionType::modelsAttributes());
}
- public function getGeneralOptions($iQuestionId, $sQuestionType=null){
+ public function getGeneralOptions($iQuestionId, $sQuestionType=null)
+ {
$oQuestion = Question::model()->findByPk($iQuestionId);
$this->renderJSON($oQuestion->getDataSetObject()->getGeneralSettingsArray(null, $sQuestionType));
}
@@ -126,18 +140,19 @@ public function getGeneralOptions($iQuestionId, $sQuestionType=null){
*
* @return void
*/
- public function getRenderedPreview($iQuestionId, $sLanguage, $root=false) {
+ public function getRenderedPreview($iQuestionId, $sLanguage, $root=false)
+ {
$root = (bool) $root;
$oQuestion = Question::model()->findByPk($iQuestionId);
$changedText = App()->request->getPost('changedText', []);
$changedType = App()->request->getPost('changedType', $oQuestion->type);
- if($changedText !== []) {
+ if ($changedText !== []) {
Yii::app()->session['edit_'.$iQuestionId.'_changedText'] = $changedText;
} else {
- $changedText = isset(Yii::app()->session['edit_'.$iQuestionId.'_changedText'])
- ? Yii::app()->session['edit_'.$iQuestionId.'_changedText']
+ $changedText = isset(Yii::app()->session['edit_'.$iQuestionId.'_changedText'])
+ ? Yii::app()->session['edit_'.$iQuestionId.'_changedText']
: [];
}
@@ -169,16 +184,16 @@ public function getRenderedPreview($iQuestionId, $sLanguage, $root=false) {
'number' => $oQuestion->question_order,
'code' => $oQuestion->title,
'text' => isset($changedText['question']) ? $changedText['question'] : $oQuestion->questionL10ns[$sLanguage]->question,
- 'help' => [
- 'show' => true,
- 'text' => ( isset($changedText['help']) ? $changedText['help'] : $oQuestion->questionL10ns[$sLanguage]->help )
+ 'help' => [
+ 'show' => true,
+ 'text' => (isset($changedText['help']) ? $changedText['help'] : $oQuestion->questionL10ns[$sLanguage]->help)
],
]
);
$oTemplate = Template::model()->getInstance($oQuestion->survey->template);
Yii::app()->twigRenderer->renderTemplateForQuestionEditPreview(
- '/subviews/survey/question_container.twig',
- ['aSurveyInfo' => $aSurveyInfo, 'aQuestion' => $aQuestion, 'session' => $_SESSION],
+ '/subviews/survey/question_container.twig',
+ ['aSurveyInfo' => $aSurveyInfo, 'aQuestion' => $aQuestion, 'session' => $_SESSION],
$root
);
@@ -188,13 +203,15 @@ public function getRenderedPreview($iQuestionId, $sLanguage, $root=false) {
/**
* Method to render an array as a json document
- *
+ *
* @param array $aData
* @return void
*/
- protected function renderJSON($aData){
- if(Yii::app()->getConfig('debug') > 0)
+ protected function renderJSON($aData)
+ {
+ if (Yii::app()->getConfig('debug') > 0) {
$aData['debug'] = [$_POST, $_GET];
+ }
echo Yii::app()->getController()->renderPartial('/admin/super/_renderJson', ['data' => $aData], true, false);
return;
@@ -211,5 +228,4 @@ protected function _renderWrappedTemplate($sAction = 'survey/Question2', $aViewU
{
parent::_renderWrappedTemplate($sAction, $aViewUrls, $aData, $sRenderFile);
}
-
-}
\ No newline at end of file
+}
diff --git a/application/models/QuestionBaseDataSet.php b/application/models/QuestionBaseDataSet.php
index f45a592d68b..e9f7a228bbe 100644
--- a/application/models/QuestionBaseDataSet.php
+++ b/application/models/QuestionBaseDataSet.php
@@ -96,6 +96,7 @@ public function getQuestionThemeOption()
'formElementName' => false, //false means identical to id
'formElementHelp' => gT("Use a customized question theme for this question"),
'formElement' => 'select',
+ 'formElementValue' => isset($aQuestionTemplateAttributes['value']) ? $aQuestionTemplateAttributes['value'] : '',
'formElementOptions' => [
'classes' => ['form-control'],
'options' => $aOptionsArray,
@@ -134,6 +135,7 @@ function ($oQuestionGroup) {
'formElementName' => false,
'formElementHelp' => gT("If you want to change the question group this question is in."),
'formElement' => 'select',
+ 'formElementValue' => $this->oQuestion->gid,
'formElementOptions' => [
'classes' => ['form-control'],
'options' => $aGroupOptions,
@@ -150,14 +152,15 @@ public function getOtherSwitch()
'formElementId' => 'other',
'formElementName' => false,
'formElementHelp' => gT('Activate the "other" option for your question'),
- 'formElement' => 'switcher',
+ 'formElement' => 'checkboxswitch',
+ 'formElementValue' => $this->oQuestion->other == 'Y',
'formElementOptions' => [
'classes' => [],
'switchData' => [
- 'on-text' => "On",
- 'off-text' => "Off",
- 'on-color' => "primary",
- 'off-color' => "warning",
+ 'onText' => gT("On"),
+ 'offText' => gT("Off"),
+ 'onColor' => "primary",
+ 'offColor' => "warning",
'size' => "small",
],
],
@@ -173,14 +176,15 @@ public function getMandatorySwitch()
'formElementId' => 'mandatory',
'formElementName' => false,
'formElementHelp' => gT('Makes this question mandatory in your survey'),
- 'formElement' => 'switcher',
+ 'formElement' => 'checkboxswitch',
+ 'formElementValue' => $this->oQuestion->mandatory == 'Y',
'formElementOptions' => [
'classes' => [],
'switchData' => [
- 'on-text' => "On",
- 'off-text' => "Off",
- 'on-color' => "primary",
- 'off-color' => "warning",
+ 'onText' => gT("On"),
+ 'offText' => gT("Off"),
+ 'onColor' => "primary",
+ 'offColor' => "warning",
'size' => "small",
],
],
@@ -190,6 +194,7 @@ public function getMandatorySwitch()
public function getRelevanceEquationInput()
{
+ $inputType = 'textarea';
$relevanceIntputHtml = ''
.'
{
@@ -200,6 +205,8 @@ public function getRelevanceEquationInput()
.'
}
'
.'
';
if (count($this->oQuestion->conditions) > 0) {
+ $inputType = 'text';
+ $content = gT("Note: You can't edit the relevance equation because there are currently conditions set for this question.");
$relevanceIntputHtml .= '
'
. gT("Note: You can't edit the relevance equation because there are currently conditions set for this question.")
.'
';
@@ -210,12 +217,11 @@ public function getRelevanceEquationInput()
'title' => gT('Relevance equation'),
'formElementId' => 'relevance',
'formElementName' => false,
- 'formElementHelp' => (count($this->oQuestion->conditions)>0
- ? gT("Note: You can't edit the relevance equation because there are currently conditions set for this question.")
- : gT("The relevance equation can be used to add branching logic. This is a rather advanced topic. If you are unsure, just leave it be.")),
+ 'formElementHelp' => (count($this->oQuestion->conditions)>0 ? '' :gT("The relevance equation can be used to add branching logic. This is a rather advanced topic. If you are unsure, just leave it be.")),
'formElement' => 'textarea',
+ 'formElementValue' => $this->oQuestion->relevance,
'formElementOptions' => [
- 'classes' => 'form-control',
+ 'classes' => ['form-control'],
'attributes' => [
'rows' => 1,
'readonly' => count($this->oQuestion->conditions)>0
@@ -232,14 +238,15 @@ public function getRelevanceEquationInput()
public function getValidationInput()
{
return [
- 'name' => 'RelevanceEquation',
- 'title' => gT('Relevance equation'),
+ 'name' => 'Validation',
+ 'title' => gT('Input validation'),
'formElementId' => 'preg',
'formElementName' => false,
'formElementHelp' => gT('You can add any regular expression based validation in here'),
- 'formElement' => 'input',
+ 'formElement' => 'textinput',
+ 'formElementValue' => $this->oQuestion->preg,
'formElementOptions' => [
- 'classes' => 'form-control',
+ 'classes' => ['form-control'],
'inputGroup' => [
'prefix' => 'RegExp',
]
diff --git a/assets/packages/questioneditor/build/lsquestioneditor.css b/assets/packages/questioneditor/build/lsquestioneditor.css
index 5b8649621ed..6f6499d3d5d 100644
--- a/assets/packages/questioneditor/build/lsquestioneditor.css
+++ b/assets/packages/questioneditor/build/lsquestioneditor.css
@@ -14,3 +14,9 @@
#advancedQuestionEditor .ck.ck-content {
min-height: 10rem; }
+
+#advancedQuestionEditor .question-option-general-container .question-option-general-setting-block {
+ margin: 0.25rem 0 0.5rem 0; }
+ #advancedQuestionEditor .question-option-general-container .question-option-general-setting-block .question-option-help {
+ margin: 0.5rem 0;
+ padding: .75rem; }
diff --git a/assets/packages/questioneditor/build/lsquestioneditor.debug.js b/assets/packages/questioneditor/build/lsquestioneditor.debug.js
index f9f904a5764..4538d6989e8 100644
--- a/assets/packages/questioneditor/build/lsquestioneditor.debug.js
+++ b/assets/packages/questioneditor/build/lsquestioneditor.debug.js
@@ -13,20 +13,131 @@
/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
-/******/return __webpack_require__(__webpack_require__.s=19);/******/})(/************************************************************************//******/[/* 0 *//***/function(module,exports,__webpack_require__){var freeGlobal=__webpack_require__(15);/** Detect free variable `self`. */var freeSelf=(typeof self==='undefined'?'undefined':_typeof(self))=='object'&&self&&self.Object===Object&&self;/** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function('return this')();module.exports=root;/***/},/* 1 *//***/function(module,exports,__webpack_require__){var baseIsNative=__webpack_require__(56),getValue=__webpack_require__(61);/**
+/******/return __webpack_require__(__webpack_require__.s=47);/******/})(/************************************************************************//******/[/* 0 *//***/function(module,exports,__webpack_require__){var freeGlobal=__webpack_require__(27);/** Detect free variable `self`. */var freeSelf=(typeof self==='undefined'?'undefined':_typeof(self))=='object'&&self&&self.Object===Object&&self;/** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function('return this')();module.exports=root;/***/},/* 1 *//***/function(module,exports){/* globals __VUE_SSR_CONTEXT__ */// this module is a runtime utility for cleaner component module output and will
+// be included in the final webpack user bundle
+module.exports=function normalizeComponent(rawScriptExports,compiledTemplate,injectStyles,scopeId,moduleIdentifier/* server only */){var esModule;var scriptExports=rawScriptExports=rawScriptExports||{};// ES6 modules interop
+var type=_typeof(rawScriptExports.default);if(type==='object'||type==='function'){esModule=rawScriptExports;scriptExports=rawScriptExports.default;}// Vue.extend constructor export interop
+var options=typeof scriptExports==='function'?scriptExports.options:scriptExports;// render functions
+if(compiledTemplate){options.render=compiledTemplate.render;options.staticRenderFns=compiledTemplate.staticRenderFns;}// scopedId
+if(scopeId){options._scopeId=scopeId;}var hook;if(moduleIdentifier){// server build
+hook=function hook(context){// 2.3 injection
+context=context||// cached call
+this.$vnode&&this.$vnode.ssrContext||// stateful
+this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext;// functional
+// 2.2 with runInNewContext: true
+if(!context&&typeof __VUE_SSR_CONTEXT__!=='undefined'){context=__VUE_SSR_CONTEXT__;}// inject component styles
+if(injectStyles){injectStyles.call(this,context);}// register component module identifier for async chunk inferrence
+if(context&&context._registeredComponents){context._registeredComponents.add(moduleIdentifier);}};// used by ssr in case component is cached and beforeCreate
+// never gets called
+options._ssrRegister=hook;}else if(injectStyles){hook=injectStyles;}if(hook){var functional=options.functional;var existing=functional?options.render:options.beforeCreate;if(!functional){// inject component registration as beforeCreate hook
+options.beforeCreate=existing?[].concat(existing,hook):[hook];}else{// register for functioal component in vue file
+options.render=function renderWithStyleInjection(h,context){hook.call(context);return existing(h,context);};}}return{esModule:esModule,exports:scriptExports,options:options};};/***/},/* 2 *//***/function(module,exports){/**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */function isObject(value){var type=typeof value==='undefined'?'undefined':_typeof(value);return value!=null&&(type=='object'||type=='function');}module.exports=isObject;/***/},/* 3 *//***/function(module,exports){/**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */function isObjectLike(value){return value!=null&&(typeof value==='undefined'?'undefined':_typeof(value))=='object';}module.exports=isObjectLike;/***/},/* 4 *//***/function(module,exports,__webpack_require__){var baseIsNative=__webpack_require__(79),getValue=__webpack_require__(82);/**
* Gets the native function at `key` of `object`.
*
* @private
* @param {Object} object The object to query.
* @param {string} key The key of the method to get.
* @returns {*} Returns the function if it's native, else `undefined`.
- */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined;}module.exports=getNative;/***/},/* 2 *//***/function(module,exports){var g;// This works in non-strict mode
-g=function(){return this;}();try{// This works if eval is allowed (see CSP)
-g=g||Function("return this")()||(1,eval)("this");}catch(e){// This works if the window reference is available
-if((typeof window==='undefined'?'undefined':_typeof(window))==="object")g=window;}// g can still be undefined, but nothing to do about it...
-// We return undefined, instead of nothing here, so it's
-// easier to handle this case. if(!global) { ...}
-module.exports=g;/***/},/* 3 *//***/function(module,exports){/*
+ */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined;}module.exports=getNative;/***/},/* 5 *//***/function(module,exports,__webpack_require__){var _Symbol=__webpack_require__(20),getRawTag=__webpack_require__(64),objectToString=__webpack_require__(65);/** `Object#toString` result references. */var nullTag='[object Null]',undefinedTag='[object Undefined]';/** Built-in value references. */var symToStringTag=_Symbol?_Symbol.toStringTag:undefined;/**
+ * The base implementation of `getTag` without fallbacks for buggy environments.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag;}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value);}module.exports=baseGetTag;/***/},/* 6 *//***/function(module,exports){/**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(document.body.children);
+ * // => false
+ *
+ * _.isArray('abc');
+ * // => false
+ *
+ * _.isArray(_.noop);
+ * // => false
+ */var isArray=Array.isArray;module.exports=isArray;/***/},/* 7 *//***/function(module,exports,__webpack_require__){var isFunction=__webpack_require__(22),isLength=__webpack_require__(36);/**
+ * Checks if `value` is array-like. A value is considered array-like if it's
+ * not a function and has a `value.length` that's an integer greater than or
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ * @example
+ *
+ * _.isArrayLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isArrayLike(document.body.children);
+ * // => true
+ *
+ * _.isArrayLike('abc');
+ * // => true
+ *
+ * _.isArrayLike(_.noop);
+ * // => false
+ */function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value);}module.exports=isArrayLike;/***/},/* 8 *//***/function(module,exports){/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/// css base code, injected by the css-loader
@@ -38,11 +149,11 @@ list.i=function(modules,mediaQuery){if(typeof modules==="string")modules=[[null,
// I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0]!=="number"||!alreadyImportedModules[item[0]]){if(mediaQuery&&!item[2]){item[2]=mediaQuery;}else if(mediaQuery){item[2]="("+item[2]+") and ("+mediaQuery+")";}list.push(item);}}};return list;};function cssWithMappingToString(item,useSourceMap){var content=item[1]||'';var cssMapping=item[3];if(!cssMapping){return content;}if(useSourceMap&&typeof btoa==='function'){var sourceMapping=toComment(cssMapping);var sourceURLs=cssMapping.sources.map(function(source){return'/*# sourceURL='+cssMapping.sourceRoot+source+' */';});return[content].concat(sourceURLs).concat([sourceMapping]).join('\n');}return[content].join('\n');}// Adapted from convert-source-map (MIT)
function toComment(sourceMap){// eslint-disable-next-line no-undef
-var base64=btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));var data='sourceMappingURL=data:application/json;charset=utf-8;base64,'+base64;return'/*# '+data+' */';}/***/},/* 4 *//***/function(module,exports,__webpack_require__){/*
+var base64=btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));var data='sourceMappingURL=data:application/json;charset=utf-8;base64,'+base64;return'/*# '+data+' */';}/***/},/* 9 *//***/function(module,exports,__webpack_require__){/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
Modified by Evan You @yyx990803
-*/var hasDocument=typeof document!=='undefined';if(typeof DEBUG!=='undefined'&&DEBUG){if(!hasDocument){throw new Error('vue-style-loader cannot be used in a non-browser environment. '+"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");}}var listToStyles=__webpack_require__(25);/*
+*/var hasDocument=typeof document!=='undefined';if(typeof DEBUG!=='undefined'&&DEBUG){if(!hasDocument){throw new Error('vue-style-loader cannot be used in a non-browser environment. '+"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");}}var listToStyles=__webpack_require__(53);/*
type StyleObject = {
id: number;
parts: Array
@@ -73,81 +184,188 @@ var styleIndex=singletonCounter++;styleElement=singletonElement||(singletonEleme
styleElement=createStyleElement();update=applyToTag.bind(null,styleElement);remove=function remove(){styleElement.parentNode.removeChild(styleElement);};}update(obj);return function updateStyle(newObj/* StyleObjectPart */){if(newObj){if(newObj.css===obj.css&&newObj.media===obj.media&&newObj.sourceMap===obj.sourceMap){return;}update(obj=newObj);}else{remove();}};}var replaceText=function(){var textStore=[];return function(index,replacement){textStore[index]=replacement;return textStore.filter(Boolean).join('\n');};}();function applyToSingletonTag(styleElement,index,remove,obj){var css=remove?'':obj.css;if(styleElement.styleSheet){styleElement.styleSheet.cssText=replaceText(index,css);}else{var cssNode=document.createTextNode(css);var childNodes=styleElement.childNodes;if(childNodes[index])styleElement.removeChild(childNodes[index]);if(childNodes.length){styleElement.insertBefore(cssNode,childNodes[index]);}else{styleElement.appendChild(cssNode);}}}function applyToTag(styleElement,obj){var css=obj.css;var media=obj.media;var sourceMap=obj.sourceMap;if(media){styleElement.setAttribute('media',media);}if(sourceMap){// https://developer.chrome.com/devtools/docs/javascript-debugging
// this makes source maps inside style tags work properly in Chrome
css+='\n/*# sourceURL='+sourceMap.sources[0]+' */';// http://stackoverflow.com/a/26603875
-css+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+' */';}if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{while(styleElement.firstChild){styleElement.removeChild(styleElement.firstChild);}styleElement.appendChild(document.createTextNode(css));}}/***/},/* 5 *//***/function(module,exports){/* globals __VUE_SSR_CONTEXT__ */// this module is a runtime utility for cleaner component module output and will
-// be included in the final webpack user bundle
-module.exports=function normalizeComponent(rawScriptExports,compiledTemplate,injectStyles,scopeId,moduleIdentifier/* server only */){var esModule;var scriptExports=rawScriptExports=rawScriptExports||{};// ES6 modules interop
-var type=_typeof(rawScriptExports.default);if(type==='object'||type==='function'){esModule=rawScriptExports;scriptExports=rawScriptExports.default;}// Vue.extend constructor export interop
-var options=typeof scriptExports==='function'?scriptExports.options:scriptExports;// render functions
-if(compiledTemplate){options.render=compiledTemplate.render;options.staticRenderFns=compiledTemplate.staticRenderFns;}// scopedId
-if(scopeId){options._scopeId=scopeId;}var hook;if(moduleIdentifier){// server build
-hook=function hook(context){// 2.3 injection
-context=context||// cached call
-this.$vnode&&this.$vnode.ssrContext||// stateful
-this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext;// functional
-// 2.2 with runInNewContext: true
-if(!context&&typeof __VUE_SSR_CONTEXT__!=='undefined'){context=__VUE_SSR_CONTEXT__;}// inject component styles
-if(injectStyles){injectStyles.call(this,context);}// register component module identifier for async chunk inferrence
-if(context&&context._registeredComponents){context._registeredComponents.add(moduleIdentifier);}};// used by ssr in case component is cached and beforeCreate
-// never gets called
-options._ssrRegister=hook;}else if(injectStyles){hook=injectStyles;}if(hook){var functional=options.functional;var existing=functional?options.render:options.beforeCreate;if(!functional){// inject component registration as beforeCreate hook
-options.beforeCreate=existing?[].concat(existing,hook):[hook];}else{// register for functioal component in vue file
-options.render=function renderWithStyleInjection(h,context){hook.call(context);return existing(h,context);};}}return{esModule:esModule,exports:scriptExports,options:options};};/***/},/* 6 *//***/function(module,exports){module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];// module.parent = undefined by default
-if(!module.children)module.children=[];Object.defineProperty(module,"loaded",{enumerable:true,get:function get(){return module.l;}});Object.defineProperty(module,"id",{enumerable:true,get:function get(){return module.i;}});module.webpackPolyfill=1;}return module;};/***/},/* 7 *//***/function(module,exports,__webpack_require__){var _Symbol=__webpack_require__(14),getRawTag=__webpack_require__(57),objectToString=__webpack_require__(58);/** `Object#toString` result references. */var nullTag='[object Null]',undefinedTag='[object Undefined]';/** Built-in value references. */var symToStringTag=_Symbol?_Symbol.toStringTag:undefined;/**
- * The base implementation of `getTag` without fallbacks for buggy environments.
+css+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+' */';}if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{while(styleElement.firstChild){styleElement.removeChild(styleElement.firstChild);}styleElement.appendChild(document.createTextNode(css));}}/***/},/* 10 *//***/function(module,exports){/**
+ * Performs a
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * comparison between two values to determine if they are equivalent.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.eq(object, object);
+ * // => true
+ *
+ * _.eq(object, other);
+ * // => false
+ *
+ * _.eq('a', 'a');
+ * // => true
+ *
+ * _.eq('a', Object('a'));
+ * // => false
+ *
+ * _.eq(NaN, NaN);
+ * // => true
+ */function eq(value,other){return value===other||value!==value&&other!==other;}module.exports=eq;/***/},/* 11 *//***/function(module,exports){module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];// module.parent = undefined by default
+if(!module.children)module.children=[];Object.defineProperty(module,"loaded",{enumerable:true,get:function get(){return module.l;}});Object.defineProperty(module,"id",{enumerable:true,get:function get(){return module.i;}});module.webpackPolyfill=1;}return module;};/***/},/* 12 *//***/function(module,exports){var g;// This works in non-strict mode
+g=function(){return this;}();try{// This works if eval is allowed (see CSP)
+g=g||Function("return this")()||(1,eval)("this");}catch(e){// This works if the window reference is available
+if((typeof window==='undefined'?'undefined':_typeof(window))==="object")g=window;}// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+module.exports=g;/***/},/* 13 *//***/function(module,exports,__webpack_require__){var listCacheClear=__webpack_require__(69),listCacheDelete=__webpack_require__(70),listCacheGet=__webpack_require__(71),listCacheHas=__webpack_require__(72),listCacheSet=__webpack_require__(73);/**
+ * Creates an list cache object.
*
* @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag;}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value);}module.exports=baseGetTag;/***/},/* 8 *//***/function(module,exports){/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index true
*
- * _.isObjectLike([1, 2, 3]);
+ * _.isBuffer(new Uint8Array(2));
+ * // => false
+ */var isBuffer=nativeIsBuffer||stubFalse;module.exports=isBuffer;/* WEBPACK VAR INJECTION */}).call(exports,__webpack_require__(11)(module));/***/},/* 18 *//***/function(module,exports,__webpack_require__){var baseIsTypedArray=__webpack_require__(113),baseUnary=__webpack_require__(114),nodeUtil=__webpack_require__(115);/* Node.js helper references. */var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;/**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
* // => true
*
- * _.isObjectLike(_.noop);
+ * _.isTypedArray([]);
* // => false
+ */var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;module.exports=isTypedArray;/***/},/* 19 *//***/function(module,exports){/** Used for built-in method references. */var objectProto=Object.prototype;/**
+ * Checks if `value` is likely a prototype object.
*
- * _.isObjectLike(null);
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
+ */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=='function'&&Ctor.prototype||objectProto;return value===proto;}module.exports=isPrototype;/***/},/* 20 *//***/function(module,exports,__webpack_require__){var root=__webpack_require__(0);/** Built-in value references. */var _Symbol2=root.Symbol;module.exports=_Symbol2;/***/},/* 21 *//***/function(module,exports,__webpack_require__){var getNative=__webpack_require__(4),root=__webpack_require__(0);/* Built-in method references that are verified to be native. */var Map=getNative(root,'Map');module.exports=Map;/***/},/* 22 *//***/function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(5),isObject=__webpack_require__(2);/** `Object#toString` result references. */var asyncTag='[object AsyncFunction]',funcTag='[object Function]',genTag='[object GeneratorFunction]',proxyTag='[object Proxy]';/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
* // => false
- */function isObjectLike(value){return value!=null&&(typeof value==='undefined'?'undefined':_typeof(value))=='object';}module.exports=isObjectLike;/***/},/* 9 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* WEBPACK VAR INJECTION */(function(global){/*!
- * Vue.js v2.3.4
- * (c) 2014-2017 Evan You
- * Released under the MIT License.
- *//* */// these helpers produces better vm code in JS engines due to their
-// explicitness and function inlining
-function isUndef(v){return v===undefined||v===null;}function isDef(v){return v!==undefined&&v!==null;}function isTrue(v){return v===true;}function isFalse(v){return v===false;}/**
- * Check if value is primitive
- */function isPrimitive(value){return typeof value==='string'||typeof value==='number';}/**
- * Quick object check - this is primarily used to tell
- * Objects from primitive values when we know the value
- * is a JSON-compliant type.
- */function isObject(obj){return obj!==null&&(typeof obj==='undefined'?'undefined':_typeof(obj))==='object';}var _toString=Object.prototype.toString;/**
- * Strict object type check. Only returns true
- * for plain JavaScript objects.
- */function isPlainObject(obj){return _toString.call(obj)==='[object Object]';}function isRegExp(v){return _toString.call(v)==='[object RegExp]';}/**
- * Convert a value to a string that is actually rendered.
- */function toString(val){return val==null?'':(typeof val==='undefined'?'undefined':_typeof(val))==='object'?JSON.stringify(val,null,2):String(val);}/**
- * Convert a input value to a number for persistence.
- * If the conversion fails, return original string.
- */function toNumber(val){var n=parseFloat(val);return isNaN(n)?val:n;}/**
- * Make a map and return a function for checking if a key
- * is in that map.
- */function makeMap(str,expectsLowerCase){var map=Object.create(null);var list=str.split(',');for(var i=0;i true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */var isArguments=baseIsArguments(function(){return arguments;}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,'callee')&&!propertyIsEnumerable.call(value,'callee');};module.exports=isArguments;/***/},/* 24 *//***/function(module,exports){/**
+ * This method returns the first argument it receives.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Util
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ *
+ * console.log(_.identity(object) === object);
+ * // => true
+ */function identity(value){return value;}module.exports=identity;/***/},/* 25 *//***/function(module,exports,__webpack_require__){var defineProperty=__webpack_require__(43);/**
+ * The base implementation of `assignValue` and `assignMergeValue` without
+ * value checks.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */function baseAssignValue(object,key,value){if(key=='__proto__'&&defineProperty){defineProperty(object,key,{'configurable':true,'enumerable':true,'value':value,'writable':true});}else{object[key]=value;}}module.exports=baseAssignValue;/***/},/* 26 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* WEBPACK VAR INJECTION */(function(global){/*!
+ * Vue.js v2.3.4
+ * (c) 2014-2017 Evan You
+ * Released under the MIT License.
+ *//* */// these helpers produces better vm code in JS engines due to their
+// explicitness and function inlining
+function isUndef(v){return v===undefined||v===null;}function isDef(v){return v!==undefined&&v!==null;}function isTrue(v){return v===true;}function isFalse(v){return v===false;}/**
+ * Check if value is primitive
+ */function isPrimitive(value){return typeof value==='string'||typeof value==='number';}/**
+ * Quick object check - this is primarily used to tell
+ * Objects from primitive values when we know the value
+ * is a JSON-compliant type.
+ */function isObject(obj){return obj!==null&&(typeof obj==='undefined'?'undefined':_typeof(obj))==='object';}var _toString=Object.prototype.toString;/**
+ * Strict object type check. Only returns true
+ * for plain JavaScript objects.
+ */function isPlainObject(obj){return _toString.call(obj)==='[object Object]';}function isRegExp(v){return _toString.call(v)==='[object RegExp]';}/**
+ * Convert a value to a string that is actually rendered.
+ */function toString(val){return val==null?'':(typeof val==='undefined'?'undefined':_typeof(val))==='object'?JSON.stringify(val,null,2):String(val);}/**
+ * Convert a input value to a number for persistence.
+ * If the conversion fails, return original string.
+ */function toNumber(val){var n=parseFloat(val);return isNaN(n)?val:n;}/**
+ * Make a map and return a function for checking if a key
+ * is in that map.
+ */function makeMap(str,expectsLowerCase){var map=Object.create(null);var list=str.split(',');for(var i=0;i-1){return arr.splice(index,1);}}}/**
* Check whether the object has the property.
*/var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(obj,key){return hasOwnProperty.call(obj,key);}/**
@@ -1088,7 +1306,172 @@ var res={};var fnGenErrors=[];res.render=makeFunction(compiled.render,fnGenError
if(!options.render){var template=options.template;if(template){if(typeof template==='string'){if(template.charAt(0)==='#'){template=idToTemplate(template);/* istanbul ignore if */if(false){warn("Template element not found or is empty: "+options.template,this);}}}else if(template.nodeType){template=template.innerHTML;}else{if(false){warn('invalid template option:'+template,this);}return this;}}else if(el){template=getOuterHTML(el);}if(template){/* istanbul ignore if */if(false){mark('compile');}var ref=compileToFunctions(template,{shouldDecodeNewlines:shouldDecodeNewlines,delimiters:options.delimiters},this);var render=ref.render;var staticRenderFns=ref.staticRenderFns;options.render=render;options.staticRenderFns=staticRenderFns;/* istanbul ignore if */if(false){mark('compile end');measure(this._name+" compile",'compile','compile end');}}}return mount.call(this,el,hydrating);};/**
* Get outerHTML of elements, taking care
* of SVG elements in IE as well.
- */function getOuterHTML(el){if(el.outerHTML){return el.outerHTML;}else{var container=document.createElement('div');container.appendChild(el.cloneNode(true));return container.innerHTML;}}Vue$3.compile=compileToFunctions;/* harmony default export */__webpack_exports__["a"]=Vue$3;/* WEBPACK VAR INJECTION */}).call(__webpack_exports__,__webpack_require__(2));/***/},/* 10 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony default export */__webpack_exports__["a"]={methods:{__runAjax:function __runAjax(uri){var data=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var method=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'get';var dataType=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'json';return new Promise(function(resolve,reject){if($==undefined){reject('JQUERY NOT AVAILABLE!');}$.ajax({url:uri,method:method||'get',data:data,dataType:dataType,success:function success(response,status,xhr){resolve({success:true,data:response,transferStatus:status,xhr:xhr});},error:function error(xhr,status,_error){reject({success:false,error:_error,transferStatus:status,xhr:xhr});}});});},$_post:function $_post(uri,data){return this.__runAjax(uri,data,'post');},$_get:function $_get(uri,data){return this.__runAjax(uri,data,'get');},$_load:function $_load(uri,data){return this.__runAjax(uri,data,'get',"html");},$_delete:function $_delete(uri,data){return this.__runAjax(uri,data,'delete');},$_put:function $_put(uri,data){return this.__runAjax(uri,data,'put');}}};/***/},/* 11 *//***/function(module,exports,__webpack_require__){var baseKeys=__webpack_require__(51),getTag=__webpack_require__(54),isArguments=__webpack_require__(66),isArray=__webpack_require__(68),isArrayLike=__webpack_require__(69),isBuffer=__webpack_require__(70),isPrototype=__webpack_require__(12),isTypedArray=__webpack_require__(72);/** `Object#toString` result references. */var mapTag='[object Map]',setTag='[object Set]';/** Used for built-in method references. */var objectProto=Object.prototype;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
+ */function getOuterHTML(el){if(el.outerHTML){return el.outerHTML;}else{var container=document.createElement('div');container.appendChild(el.cloneNode(true));return container.innerHTML;}}Vue$3.compile=compileToFunctions;/* harmony default export */__webpack_exports__["a"]=Vue$3;/* WEBPACK VAR INJECTION */}).call(__webpack_exports__,__webpack_require__(12));/***/},/* 27 *//***/function(module,exports,__webpack_require__){/* WEBPACK VAR INJECTION */(function(global){/** Detect free variable `global` from Node.js. */var freeGlobal=(typeof global==='undefined'?'undefined':_typeof(global))=='object'&&global&&global.Object===Object&&global;module.exports=freeGlobal;/* WEBPACK VAR INJECTION */}).call(exports,__webpack_require__(12));/***/},/* 28 *//***/function(module,exports,__webpack_require__){var ListCache=__webpack_require__(13),stackClear=__webpack_require__(74),stackDelete=__webpack_require__(75),stackGet=__webpack_require__(76),stackHas=__webpack_require__(77),stackSet=__webpack_require__(78);/**
+ * Creates a stack cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size;}// Add methods to `Stack`.
+Stack.prototype.clear=stackClear;Stack.prototype['delete']=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;module.exports=Stack;/***/},/* 29 *//***/function(module,exports){/** Used for built-in method references. */var funcProto=Function.prototype;/** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;/**
+ * Converts `func` to its source code.
+ *
+ * @private
+ * @param {Function} func The function to convert.
+ * @returns {string} Returns the source code.
+ */function toSource(func){if(func!=null){try{return funcToString.call(func);}catch(e){}try{return func+'';}catch(e){}}return'';}module.exports=toSource;/***/},/* 30 *//***/function(module,exports,__webpack_require__){var mapCacheClear=__webpack_require__(83),mapCacheDelete=__webpack_require__(90),mapCacheGet=__webpack_require__(92),mapCacheHas=__webpack_require__(93),mapCacheSet=__webpack_require__(94);/**
+ * Creates a map cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++indexarrLength)){return false;}// Assume cyclic values are equal.
+var stacked=stack.get(array);if(stacked&&stack.get(other)){return stacked==other;}var index=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache():undefined;stack.set(array,other);stack.set(other,array);// Ignore non-index properties.
+while(++index ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object);}module.exports=keys;/***/},/* 34 *//***/function(module,exports,__webpack_require__){var baseTimes=__webpack_require__(110),isArguments=__webpack_require__(23),isArray=__webpack_require__(6),isBuffer=__webpack_require__(17),isIndex=__webpack_require__(35),isTypedArray=__webpack_require__(18);/** Used for built-in method references. */var objectProto=Object.prototype;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
+ * Creates an array of the enumerable property names of the array-like `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @param {boolean} inherited Specify returning inherited property names.
+ * @returns {Array} Returns the array of property names.
+ */function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(// Safari 9 has enumerable `arguments.length` in strict mode.
+key=='length'||// Node.js 0.10 has enumerable non-index properties on buffers.
+isBuff&&(key=='offset'||key=='parent')||// PhantomJS 2 has enumerable non-index properties on typed arrays.
+isType&&(key=='buffer'||key=='byteLength'||key=='byteOffset')||// Skip index properties.
+isIndex(key,length)))){result.push(key);}}return result;}module.exports=arrayLikeKeys;/***/},/* 35 *//***/function(module,exports){/** Used as references for various `Number` constants. */var MAX_SAFE_INTEGER=9007199254740991;/** Used to detect unsigned integer values. */var reIsUint=/^(?:0|[1-9]\d*)$/;/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */function isIndex(value,length){length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(typeof value=='number'||reIsUint.test(value))&&value>-1&&value%1==0&&value true
+ *
+ * _.isLength(Number.MIN_VALUE);
+ * // => false
+ *
+ * _.isLength(Infinity);
+ * // => false
+ *
+ * _.isLength('3');
+ * // => false
+ */function isLength(value){return typeof value=='number'&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER;}module.exports=isLength;/***/},/* 37 *//***/function(module,exports,__webpack_require__){var isPrototype=__webpack_require__(19),nativeKeys=__webpack_require__(116);/** Used for built-in method references. */var objectProto=Object.prototype;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
+ * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object);}var result=[];for(var key in Object(object)){if(hasOwnProperty.call(object,key)&&key!='constructor'){result.push(key);}}return result;}module.exports=baseKeys;/***/},/* 38 *//***/function(module,exports){/**
+ * Creates a unary function that invokes `func` with its argument transformed.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {Function} transform The argument transform.
+ * @returns {Function} Returns the new function.
+ */function overArg(func,transform){return function(arg){return func(transform(arg));};}module.exports=overArg;/***/},/* 39 *//***/function(module,exports,__webpack_require__){var DataView=__webpack_require__(117),Map=__webpack_require__(21),Promise=__webpack_require__(118),Set=__webpack_require__(119),WeakMap=__webpack_require__(120),baseGetTag=__webpack_require__(5),toSource=__webpack_require__(29);/** `Object#toString` result references. */var mapTag='[object Map]',objectTag='[object Object]',promiseTag='[object Promise]',setTag='[object Set]',weakMapTag='[object WeakMap]';var dataViewTag='[object DataView]';/** Used to detect maps, sets, and weakmaps. */var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);/**
+ * Gets the `toStringTag` of `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */var getTag=baseGetTag;// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
+if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map())!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set())!=setTag||WeakMap&&getTag(new WeakMap())!=weakMapTag){getTag=function getTag(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):'';if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag;}}return result;};}module.exports=getTag;/***/},/* 40 *//***/function(module,exports,__webpack_require__){var createBaseFor=__webpack_require__(129);/**
+ * The base implementation of `baseForOwn` which iterates over `object`
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */var baseFor=createBaseFor();module.exports=baseFor;/***/},/* 41 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony default export */__webpack_exports__["a"]={methods:{__runAjax:function __runAjax(uri){var data=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var method=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'get';var dataType=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'json';var csrfObject={};csrfObject[LS.data.csrfTokenName]=LS.data.csrfToken;var sendData=$.merge(data,csrfObject);return new Promise(function(resolve,reject){if($==undefined){reject('JQUERY NOT AVAILABLE!');}$.ajax({url:uri,method:method||'get',data:sendData,dataType:dataType,success:function success(response,status,xhr){resolve({success:true,data:response,transferStatus:status,xhr:xhr});},error:function error(xhr,status,_error){reject({success:false,error:_error,transferStatus:status,xhr:xhr});}});});},$_post:function $_post(uri,data){return this.__runAjax(uri,data,'post');},$_get:function $_get(uri,data){return this.__runAjax(uri,data,'get');},$_load:function $_load(uri,data){var method=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'get';return this.__runAjax(uri,data,method,"html");},$_delete:function $_delete(uri,data){return this.__runAjax(uri,data,'delete');},$_put:function $_put(uri,data){return this.__runAjax(uri,data,'put');}}};/***/},/* 42 *//***/function(module,exports,__webpack_require__){var baseAssignValue=__webpack_require__(25),eq=__webpack_require__(10);/**
+ * This function is like `assignValue` except that it doesn't assign
+ * `undefined` values.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */function assignMergeValue(object,key,value){if(value!==undefined&&!eq(object[key],value)||value===undefined&&!(key in object)){baseAssignValue(object,key,value);}}module.exports=assignMergeValue;/***/},/* 43 *//***/function(module,exports,__webpack_require__){var getNative=__webpack_require__(4);var defineProperty=function(){try{var func=getNative(Object,'defineProperty');func({},'',{});return func;}catch(e){}}();module.exports=defineProperty;/***/},/* 44 *//***/function(module,exports,__webpack_require__){var overArg=__webpack_require__(38);/** Built-in value references. */var getPrototype=overArg(Object.getPrototypeOf,Object);module.exports=getPrototype;/***/},/* 45 *//***/function(module,exports,__webpack_require__){var arrayLikeKeys=__webpack_require__(34),baseKeysIn=__webpack_require__(155),isArrayLike=__webpack_require__(7);/**
+ * Creates an array of the own and inherited enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.0.0
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keysIn(new Foo);
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+ */function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,true):baseKeysIn(object);}module.exports=keysIn;/***/},/* 46 *//***/function(module,exports,__webpack_require__){var baseKeys=__webpack_require__(37),getTag=__webpack_require__(39),isArguments=__webpack_require__(23),isArray=__webpack_require__(6),isArrayLike=__webpack_require__(7),isBuffer=__webpack_require__(17),isPrototype=__webpack_require__(19),isTypedArray=__webpack_require__(18);/** `Object#toString` result references. */var mapTag='[object Map]',setTag='[object Set]';/** Used for built-in method references. */var objectProto=Object.prototype;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/**
* Checks if `value` is an empty object, collection, map, or set.
*
* Objects are considered empty if they have no own enumerable string keyed
@@ -1120,127 +1503,967 @@ if(!options.render){var template=options.template;if(template){if(typeof templat
*
* _.isEmpty({ 'a': 1 });
* // => false
- */function isEmpty(value){if(value==null){return true;}if(isArrayLike(value)&&(isArray(value)||typeof value=='string'||typeof value.splice=='function'||isBuffer(value)||isTypedArray(value)||isArguments(value))){return!value.length;}var tag=getTag(value);if(tag==mapTag||tag==setTag){return!value.size;}if(isPrototype(value)){return!baseKeys(value).length;}for(var key in value){if(hasOwnProperty.call(value,key)){return false;}}return true;}module.exports=isEmpty;/***/},/* 12 *//***/function(module,exports){/** Used for built-in method references. */var objectProto=Object.prototype;/**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=='function'&&Ctor.prototype||objectProto;return value===proto;}module.exports=isPrototype;/***/},/* 13 *//***/function(module,exports,__webpack_require__){var baseGetTag=__webpack_require__(7),isObject=__webpack_require__(16);/** `Object#toString` result references. */var asyncTag='[object AsyncFunction]',funcTag='[object Function]',genTag='[object GeneratorFunction]',proxyTag='[object Proxy]';/**
- * Checks if `value` is classified as a `Function` object.
+ */function isEmpty(value){if(value==null){return true;}if(isArrayLike(value)&&(isArray(value)||typeof value=='string'||typeof value.splice=='function'||isBuffer(value)||isTypedArray(value)||isArguments(value))){return!value.length;}var tag=getTag(value);if(tag==mapTag||tag==setTag){return!value.size;}if(isPrototype(value)){return!baseKeys(value).length;}for(var key in value){if(hasOwnProperty.call(value,key)){return false;}}return true;}module.exports=isEmpty;/***/},/* 47 *//***/function(module,exports,__webpack_require__){module.exports=__webpack_require__(48);/***/},/* 48 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(26);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__ckeditor_ckeditor5_vue__=__webpack_require__(49);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__ckeditor_ckeditor5_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__ckeditor_ckeditor5_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__App_vue__=__webpack_require__(50);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__App_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__App_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__storage_store__=__webpack_require__(186);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__mixins_logSystem__=__webpack_require__(196);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__mixins_logSystem___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__mixins_logSystem__);// import CKEditor from '@ckeditor/ckeditor5-vue';
+//Ignore phpunits testing tags
+__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].config.ignoredElements=["x-test"];__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].use(__WEBPACK_IMPORTED_MODULE_4__mixins_logSystem___default.a);__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].use(__WEBPACK_IMPORTED_MODULE_1__ckeditor_ckeditor5_vue___default.a);__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].mixin({methods:{toggleLoading:function toggleLoading(){var forceState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(forceState!==null){if(forceState){$('#questionEditLoader').fadeIn(200);}else{$('#questionEditLoader').fadeOut(400);}return;}if($('#questionEditLoader').css('display')=='none'){$('#questionEditLoader').fadeIn(200);return;}$('#questionEditLoader').fadeOut(400);}},filters:{translate:function translate(value){return window.QuestionEditData.i10N[value]||value;}}});var AppState=__WEBPACK_IMPORTED_MODULE_3__storage_store__["a"/* default */](window.LS.parameters.qid);var questionEditor=new __WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */]({el:'#advancedQuestionEditor',store:AppState,components:{App:__WEBPACK_IMPORTED_MODULE_2__App_vue___default.a}});/***/},/* 49 *//***/function(module,exports,__webpack_require__){/*!
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */!function(t,e){true?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==(typeof exports==='undefined'?'undefined':_typeof(exports))?exports.CKEditor=e():t.CKEditor=e();}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports;}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i});},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==(typeof t==='undefined'?'undefined':_typeof(t))&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t){n.d(i,o,function(e){return t[e];}.bind(null,o));}return i;},n.n=function(t){var e=t&&t.__esModule?function(){return t.default;}:function(){return t;};return n.d(e,"a",e),e;},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e);},n.p="",n(n.s=0);}([function(t,e,n){"use strict";n.r(e);var i={name:"ckeditor",render:function render(t){return t(this.tagName);},props:{editor:{type:Function,default:null},value:{type:String,default:""},config:{type:Object,default:function _default(){return{};}},tagName:{type:String,default:"div"},disabled:{type:Boolean,default:!1}},data:function data(){return{instance:null};},mounted:function mounted(){var _this2=this;this.editor.create(this.$el,this.config).then(function(t){_this2.instance=t,t.setData(_this2.value),t.isReadOnly=_this2.disabled,_this2.$_setUpEditorEvents(),_this2.$emit("ready",t);}).catch(function(t){console.error(t);});},beforeDestroy:function beforeDestroy(){this.instance&&(this.instance.destroy(),this.instance=null),this.$emit("destroy",this.instance);},watch:{value:function value(t){this.instance.getData()!==t&&this.instance.setData(t);},disabled:function disabled(t){this.instance.isReadOnly=t;}},methods:{$_setUpEditorEvents:function $_setUpEditorEvents(){var _this3=this;var t=this.instance;t.model.document.on("change:data",function(e){var n=t.getData();_this3.$emit("input",n,e,t);}),t.editing.view.document.on("focus",function(e){_this3.$emit("focus",e,t);}),t.editing.view.document.on("blur",function(e){_this3.$emit("blur",e,t);});}}};var o={install:function install(t){t.component("ckeditor",i);},component:i};e.default=o;}]).default;});//# sourceMappingURL=ckeditor.js.map
+/***/},/* 50 *//***/function(module,exports,__webpack_require__){function injectStyle(ssrContext){__webpack_require__(51);}var Component=__webpack_require__(1)(/* script */__webpack_require__(54),/* template */__webpack_require__(185),/* styles */injectStyle,/* scopeId */"data-v-05c0cfb0",/* moduleIdentifier (server only) */null);module.exports=Component.exports;/***/},/* 51 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a \r\n"],"sourceRoot":""}]);
+
+// exports
+
+
+/***/ }),
+/* 65 */
+/***/ (function(module, exports) {
+
+/**
+ * Translates the list format produced by css-loader into something
+ * easier to manipulate.
+ */
+module.exports = function listToStyles (parentId, list) {
+ var styles = []
+ var newStyles = {}
+ for (var i = 0; i < list.length; i++) {
+ var item = list[i]
+ var id = item[0]
+ var css = item[1]
+ var media = item[2]
+ var sourceMap = item[3]
+ var part = {
+ id: parentId + ':' + i,
+ css: css,
+ media: media,
+ sourceMap: sourceMap
+ }
+ if (!newStyles[id]) {
+ styles.push(newStyles[id] = { id: id, parts: [part] })
+ } else {
+ newStyles[id].parts.push(part)
+ }
}
+ return styles
}
-var platformComponents = {
- Transition: Transition,
- TransitionGroup: TransitionGroup
-};
-/* */
+/***/ }),
+/* 66 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
-// install platform specific utils
-Vue$3.config.mustUseProp = mustUseProp;
-Vue$3.config.isReservedTag = isReservedTag;
-Vue$3.config.isReservedAttr = isReservedAttr;
-Vue$3.config.getTagNamespace = getTagNamespace;
-Vue$3.config.isUnknownElement = isUnknownElement;
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue__ = __webpack_require__(67);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue__ = __webpack_require__(153);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue__ = __webpack_require__(222);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue__);
-// install platform runtime directives & components
-extend(Vue$3.options.directives, platformDirectives);
-extend(Vue$3.options.components, platformComponents);
-// install platform patch function
-Vue$3.prototype.__patch__ = inBrowser ? patch : noop;
-// public mount method
-Vue$3.prototype.$mount = function (
- el,
- hydrating
-) {
- el = el && inBrowser ? query(el) : undefined;
- return mountComponent(this, el, hydrating)
-};
-// devtools global hook
-/* istanbul ignore next */
-setTimeout(function () {
- if (config.devtools) {
- if (devtools) {
- devtools.emit('init', Vue$3);
- } else if ("developement" !== 'production' && isChrome) {
- console[console.info ? 'info' : 'log'](
- 'Download the Vue Devtools extension for a better development experience:\n' +
- 'https://github.com/vuejs/vue-devtools'
- );
- }
- }
- if ("developement" !== 'production' &&
- config.productionTip !== false &&
- inBrowser && typeof console !== 'undefined'
- ) {
- console[console.info ? 'info' : 'log'](
- "You are running Vue in development mode.\n" +
- "Make sure to turn on production mode when deploying for production.\n" +
- "See more tips at https://vuejs.org/guide/deployment.html"
- );
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+ name: 'lsnextquestioneditor',
+ data() {
+ return {
+ event: null
+ };
+ },
+ components: {
+ 'maineditor': __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue___default.a,
+ 'generalsettings': __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue___default.a,
+ 'advancedsettings': __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue___default.a
+ },
+ mounted() {
+ this.toggleLoading(false);
+ $('#advancedQuestionEditor').on('jquery:trigger', this.jqueryTriggered);
+ },
+ methods: {
+ jqueryTriggered(event, data) {
+ //this.$log.log('data', data);
+ this.event = JSON.parse(data.emitter);
+ },
+ eventSet() {
+ this.event = null;
+ }
+
+ },
+ created() {
+ this.$store.dispatch('loadQuestion');
+ this.$store.dispatch('getQuestionTypes');
+ this.$store.dispatch('getQuestionGeneralSettings');
+ }
+});
+
+/***/ }),
+/* 67 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var disposed = false
+function injectStyle (ssrContext) {
+ if (disposed) return
+ __webpack_require__(68)
+}
+var Component = __webpack_require__(1)(
+ /* script */
+ __webpack_require__(70),
+ /* template */
+ __webpack_require__(152),
+ /* styles */
+ injectStyle,
+ /* scopeId */
+ "data-v-33645a86",
+ /* moduleIdentifier (server only) */
+ null
+)
+Component.options.__file = "C:\\IISPages\\LimeSurveyDevelop\\assets\\packages\\questioneditor\\src\\components\\mainEditor.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key.substr(0, 2) !== "__"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] mainEditor.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+ var hotAPI = require("vue-hot-reload-api")
+ hotAPI.install(require("vue"), false)
+ if (!hotAPI.compatible) return
+ module.hot.accept()
+ if (!module.hot.data) {
+ hotAPI.createRecord("data-v-33645a86", Component.options)
+ } else {
+ hotAPI.reload("data-v-33645a86", Component.options)
}
-}, 0);
+ module.hot.dispose(function (data) {
+ disposed = true
+ })
+})()}
-/* */
+module.exports = Component.exports
-// check whether current browser encodes a char inside attribute values
-function shouldDecode (content, encoded) {
- var div = document.createElement('div');
- div.innerHTML = "
";
- return div.innerHTML.indexOf(encoded) > 0
-}
-// #3663
-// IE encodes newlines inside attribute values while other browsers don't
-var shouldDecodeNewlines = inBrowser ? shouldDecode('\n', '
') : false;
+/***/ }),
+/* 68 */
+/***/ (function(module, exports, __webpack_require__) {
-/* */
+// style-loader: Adds some css to the DOM by adding a \r\n"],"sourceRoot":""}]);
+/* Built-in method references that are verified to be native. */
+var Promise = getNative(root, 'Promise');
-// exports
+module.exports = Promise;
/***/ }),
-/* 41 */
-/***/ (function(module, exports) {
-
-/**
- * Translates the list format produced by css-loader into something
- * easier to manipulate.
- */
-module.exports = function listToStyles (parentId, list) {
- var styles = []
- var newStyles = {}
- for (var i = 0; i < list.length; i++) {
- var item = list[i]
- var id = item[0]
- var css = item[1]
- var media = item[2]
- var sourceMap = item[3]
- var part = {
- id: parentId + ':' + i,
- css: css,
- media: media,
- sourceMap: sourceMap
- }
- if (!newStyles[id]) {
- styles.push(newStyles[id] = { id: id, parts: [part] })
- } else {
- newStyles[id].parts.push(part)
- }
- }
- return styles
-}
+/* 128 */
+/***/ (function(module, exports, __webpack_require__) {
+var getNative = __webpack_require__(8),
+ root = __webpack_require__(2);
-/***/ }),
-/* 42 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
+/* Built-in method references that are verified to be native. */
+var Set = getNative(root, 'Set');
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue__ = __webpack_require__(43);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue__ = __webpack_require__(130);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue__ = __webpack_require__(135);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue__);
+module.exports = Set;
+/***/ }),
+/* 129 */
+/***/ (function(module, exports, __webpack_require__) {
+var getNative = __webpack_require__(8),
+ root = __webpack_require__(2);
+/* Built-in method references that are verified to be native. */
+var WeakMap = getNative(root, 'WeakMap');
-/* harmony default export */ __webpack_exports__["default"] = ({
- name: 'lsnextquestioneditor',
- data() {
- return {
- event: null
- };
- },
- components: {
- 'maineditor': __WEBPACK_IMPORTED_MODULE_0__components_mainEditor_vue___default.a,
- 'generalsettings': __WEBPACK_IMPORTED_MODULE_1__components_generalSettings_vue___default.a,
- 'advancedsettings': __WEBPACK_IMPORTED_MODULE_2__components_advancedSettings_vue___default.a
- },
- mounted() {
- this.toggleLoading(false);
- $('#advancedQuestionEditor').on('jquery:trigger', this.jqueryTriggered);
- },
- methods: {
- jqueryTriggered(event, data) {
- //this.$log.log('data', data);
- this.event = JSON.parse(data.emitter);
- },
- eventSet() {
- this.event = null;
- }
+module.exports = WeakMap;
- },
- created() {
- this.$store.dispatch('loadQuestion');
- this.$store.dispatch('getQuestionTypes');
- this.$store.dispatch('getQuestionGeneralSettings');
- }
-});
/***/ }),
-/* 43 */
+/* 130 */
/***/ (function(module, exports, __webpack_require__) {
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
- __webpack_require__(44)
+ __webpack_require__(131)
}
-var Component = __webpack_require__(4)(
+var Component = __webpack_require__(1)(
/* script */
- __webpack_require__(46),
+ __webpack_require__(133),
/* template */
- __webpack_require__(129),
+ __webpack_require__(139),
/* styles */
injectStyle,
/* scopeId */
- "data-v-33645a86",
+ "data-v-6b27a1ca",
/* moduleIdentifier (server only) */
null
)
-Component.options.__file = "C:\\IISPages\\LimeSurveyDevelop\\assets\\packages\\questioneditor\\src\\components\\mainEditor.vue"
+Component.options.__file = "C:\\IISPages\\LimeSurveyDevelop\\assets\\packages\\questioneditor\\src\\components\\subcomponents\\_previewFrame.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key.substr(0, 2) !== "__"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] mainEditor.vue: functional components are not supported with templates, they should use render functions.")}
+if (Component.options.functional) {console.error("[vue-loader] _previewFrame.vue: functional components are not supported with templates, they should use render functions.")}
/* hot reload */
if (false) {(function () {
@@ -11560,9 +14448,9 @@ if (false) {(function () {
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
- hotAPI.createRecord("data-v-33645a86", Component.options)
+ hotAPI.createRecord("data-v-6b27a1ca", Component.options)
} else {
- hotAPI.reload("data-v-33645a86", Component.options)
+ hotAPI.reload("data-v-6b27a1ca", Component.options)
}
module.hot.dispose(function (data) {
disposed = true
@@ -11573,23 +14461,23 @@ module.exports = Component.exports
/***/ }),
-/* 44 */
+/* 131 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a \r\n"],"sourceRoot":""}]);
-/**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
-function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
+// exports
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- --this.size;
- return true;
-}
-module.exports = listCacheDelete;
+/***/ }),
+/* 143 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_size__ = __webpack_require__(144);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_size___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_size__);
+//
+/* harmony default export */ __webpack_exports__["default"] = ({
+ name: 'language-selector',
+ props: {
+ elId: { type: String, required: true },
+ aLanguages: { type: [Array, Object], required: true },
+ parentCurrentLanguage: { type: String, required: true }
+ },
+ computed: {
+ currentLanguage: {
+ get() {
+ return this.parentCurrentLanguage;
+ },
+ set(newValue) {
+ this.$emit('change', newValue);
+ }
+ },
+ lessThanFour() {
+ return __WEBPACK_IMPORTED_MODULE_0_lodash_size___default.a(this.aLanguages) < 4;
+ }
+ },
+ methods: {
+ setCurrentLanguage(newValue) {
+ this.$emit('change', newValue);
+ }
+ }
+});
+
/***/ }),
-/* 60 */
+/* 144 */
/***/ (function(module, exports, __webpack_require__) {
-var assocIndexOf = __webpack_require__(11);
+var baseKeys = __webpack_require__(34),
+ getTag = __webpack_require__(35),
+ isArrayLike = __webpack_require__(9),
+ isString = __webpack_require__(145),
+ stringSize = __webpack_require__(146);
+
+/** `Object#toString` result references. */
+var mapTag = '[object Map]',
+ setTag = '[object Set]';
/**
- * Gets the list cache value for `key`.
+ * Gets the size of `collection` by returning its length for array-like
+ * values or the number of own enumerable string keyed properties for objects.
*
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to inspect.
+ * @returns {number} Returns the collection size.
+ * @example
+ *
+ * _.size([1, 2, 3]);
+ * // => 3
+ *
+ * _.size({ 'a': 1, 'b': 2 });
+ * // => 2
+ *
+ * _.size('pebbles');
+ * // => 7
*/
-function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- return index < 0 ? undefined : data[index][1];
+function size(collection) {
+ if (collection == null) {
+ return 0;
+ }
+ if (isArrayLike(collection)) {
+ return isString(collection) ? stringSize(collection) : collection.length;
+ }
+ var tag = getTag(collection);
+ if (tag == mapTag || tag == setTag) {
+ return collection.size;
+ }
+ return baseKeys(collection).length;
}
-module.exports = listCacheGet;
+module.exports = size;
/***/ }),
-/* 61 */
+/* 145 */
/***/ (function(module, exports, __webpack_require__) {
-var assocIndexOf = __webpack_require__(11);
+var baseGetTag = __webpack_require__(7),
+ isArray = __webpack_require__(0),
+ isObjectLike = __webpack_require__(4);
+
+/** `Object#toString` result references. */
+var stringTag = '[object String]';
/**
- * Checks if a list cache value for `key` exists.
+ * Checks if `value` is classified as a `String` primitive or object.
*
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a string, else `false`.
+ * @example
+ *
+ * _.isString('abc');
+ * // => true
+ *
+ * _.isString(1);
+ * // => false
*/
-function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
+function isString(value) {
+ return typeof value == 'string' ||
+ (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
}
-module.exports = listCacheHas;
+module.exports = isString;
/***/ }),
-/* 62 */
+/* 146 */
/***/ (function(module, exports, __webpack_require__) {
-var assocIndexOf = __webpack_require__(11);
+var asciiSize = __webpack_require__(147),
+ hasUnicode = __webpack_require__(148),
+ unicodeSize = __webpack_require__(149);
/**
- * Sets the list cache `key` to `value`.
+ * Gets the number of symbols in `string`.
*
* @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the string size.
*/
-function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- if (index < 0) {
- ++this.size;
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
+function stringSize(string) {
+ return hasUnicode(string)
+ ? unicodeSize(string)
+ : asciiSize(string);
}
-module.exports = listCacheSet;
+module.exports = stringSize;
/***/ }),
-/* 63 */
+/* 147 */
/***/ (function(module, exports, __webpack_require__) {
-var ListCache = __webpack_require__(10);
+var baseProperty = __webpack_require__(49);
/**
- * Removes all key-value entries from the stack.
+ * Gets the size of an ASCII `string`.
*
* @private
- * @name clear
- * @memberOf Stack
+ * @param {string} string The string inspect.
+ * @returns {number} Returns the string size.
*/
-function stackClear() {
- this.__data__ = new ListCache;
- this.size = 0;
-}
+var asciiSize = baseProperty('length');
-module.exports = stackClear;
+module.exports = asciiSize;
/***/ }),
-/* 64 */
+/* 148 */
/***/ (function(module, exports) {
-/**
- * Removes `key` and its value from the stack.
- *
- * @private
- * @name delete
- * @memberOf Stack
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
-function stackDelete(key) {
- var data = this.__data__,
- result = data['delete'](key);
-
- this.size = data.size;
- return result;
-}
-
-module.exports = stackDelete;
+/** Used to compose unicode character classes. */
+var rsAstralRange = '\\ud800-\\udfff',
+ rsComboMarksRange = '\\u0300-\\u036f',
+ reComboHalfMarksRange = '\\ufe20-\\ufe2f',
+ rsComboSymbolsRange = '\\u20d0-\\u20ff',
+ rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
+ rsVarRange = '\\ufe0e\\ufe0f';
+/** Used to compose unicode capture groups. */
+var rsZWJ = '\\u200d';
-/***/ }),
-/* 65 */
-/***/ (function(module, exports) {
+/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
+var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
/**
- * Gets the stack value for `key`.
+ * Checks if `string` contains Unicode symbols.
*
- * @private
- * @name get
- * @memberOf Stack
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {boolean} Returns `true` if a symbol is found, else `false`.
*/
-function stackGet(key) {
- return this.__data__.get(key);
+function hasUnicode(string) {
+ return reHasUnicode.test(string);
}
-module.exports = stackGet;
+module.exports = hasUnicode;
/***/ }),
-/* 66 */
+/* 149 */
/***/ (function(module, exports) {
-/**
- * Checks if a stack value for `key` exists.
+/** Used to compose unicode character classes. */
+var rsAstralRange = '\\ud800-\\udfff',
+ rsComboMarksRange = '\\u0300-\\u036f',
+ reComboHalfMarksRange = '\\ufe20-\\ufe2f',
+ rsComboSymbolsRange = '\\u20d0-\\u20ff',
+ rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
+ rsVarRange = '\\ufe0e\\ufe0f';
+
+/** Used to compose unicode capture groups. */
+var rsAstral = '[' + rsAstralRange + ']',
+ rsCombo = '[' + rsComboRange + ']',
+ rsFitz = '\\ud83c[\\udffb-\\udfff]',
+ rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
+ rsNonAstral = '[^' + rsAstralRange + ']',
+ rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
+ rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
+ rsZWJ = '\\u200d';
+
+/** Used to compose unicode regexes. */
+var reOptMod = rsModifier + '?',
+ rsOptVar = '[' + rsVarRange + ']?',
+ rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
+ rsSeq = rsOptVar + reOptMod + rsOptJoin,
+ rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
+
+/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
+var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
+
+/**
+ * Gets the size of a Unicode `string`.
*
* @private
- * @name has
- * @memberOf Stack
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ * @param {string} string The string inspect.
+ * @returns {number} Returns the string size.
*/
-function stackHas(key) {
- return this.__data__.has(key);
+function unicodeSize(string) {
+ var result = reUnicode.lastIndex = 0;
+ while (reUnicode.test(string)) {
+ ++result;
+ }
+ return result;
}
-module.exports = stackHas;
+module.exports = unicodeSize;
/***/ }),
-/* 67 */
+/* 150 */
/***/ (function(module, exports, __webpack_require__) {
-var ListCache = __webpack_require__(10),
- Map = __webpack_require__(16),
- MapCache = __webpack_require__(25);
-
-/** Used as the size to enable large array optimizations. */
-var LARGE_ARRAY_SIZE = 200;
-
-/**
- * Sets the stack `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Stack
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the stack cache instance.
- */
-function stackSet(key, value) {
- var data = this.__data__;
- if (data instanceof ListCache) {
- var pairs = data.__data__;
- if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
- pairs.push([key, value]);
- this.size = ++data.size;
- return this;
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _c('div', {
+ staticClass: "col-xs-12"
+ }, [(_vm.lessThanFour) ? [_c('div', {
+ staticClass: "button-toolbar",
+ attrs: {
+ "id": _vm.elId + '-language-selector'
}
- data = this.__data__ = new MapCache(pairs);
+ }, _vm._l((_vm.aLanguages), function(languageTerm, language) {
+ return _c('div', {
+ key: language,
+ staticClass: "btn-group",
+ class: language == _vm.currentLanguage ? ' active' : ''
+ }, [_c('button', {
+ class: 'btn btn-' + (language == _vm.currentLanguage ? 'primary' : 'default'),
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.setCurrentLanguage(language)
+ }
+ }
+ }, [_vm._v("\n " + _vm._s(languageTerm) + "\n ")])])
+ }))] : [_c('select', {
+ directives: [{
+ name: "model",
+ rawName: "v-model",
+ value: (_vm.currentLanguage),
+ expression: "currentLanguage"
+ }],
+ staticClass: "form-control",
+ attrs: {
+ "id": _vm.elId + '-language-selector',
+ "name": _vm.elId + '-language-selector'
+ },
+ on: {
+ "change": function($event) {
+ var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {
+ return o.selected
+ }).map(function(o) {
+ var val = "_value" in o ? o._value : o.value;
+ return val
+ });
+ _vm.currentLanguage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]
+ }
+ }
+ }, _vm._l((_vm.aLanguages), function(languageTerm, language) {
+ return _c('option', {
+ key: language,
+ domProps: {
+ "value": language
+ }
+ }, [_vm._v("\n " + _vm._s(languageTerm) + "\n ")])
+ }))]], 2)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+ module.hot.accept()
+ if (module.hot.data) {
+ require("vue-hot-reload-api").rerender("data-v-b9bdb026", module.exports)
}
- data.set(key, value);
- this.size = data.size;
- return this;
}
-module.exports = stackSet;
+/***/ }),
+/* 151 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
+/* harmony default export */ __webpack_exports__["a"] = ({
+ props: {
+ event : {type: Object, default: null}
+ },
+ watch: {
+ event(newEvent, oldEvent) {
+ if(newEvent !== null) {
+ if(this.$options.name == newEvent.target) {
+ try{
+ this[newEvent.method](newEvent.content);
+ this.$emit('eventSet');
+ } catch (e) {
+ this.$log.error('EVENT HANDLING ERRORED', e);
+ }
+ return;
+ }
+ this.$log.log('EVENT SKIPPED', newEvent, this.name);
+ }
+ }
+ }
+});
/***/ }),
-/* 68 */
+/* 152 */
/***/ (function(module, exports, __webpack_require__) {
-var isFunction = __webpack_require__(23),
- isMasked = __webpack_require__(69),
- isObject = __webpack_require__(9),
- toSource = __webpack_require__(24);
-
-/**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
-var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _c('div', {
+ staticClass: "col-sm-8 col-xs-12 ls-space padding all-5"
+ }, [_c('div', {
+ staticClass: "container-center"
+ }, [_c('div', {
+ staticClass: "row"
+ }, [_c('div', {
+ staticClass: "form-group col-sm-6"
+ }, [_c('label', {
+ attrs: {
+ "for": "questionCode"
+ }
+ }, [_vm._v(_vm._s(_vm._f("translate")('Code')))]), _vm._v(" "), _c('input', {
+ directives: [{
+ name: "model",
+ rawName: "v-model",
+ value: (_vm.currentQuestionCode),
+ expression: "currentQuestionCode"
+ }],
+ staticClass: "form-control",
+ attrs: {
+ "type": "text",
+ "id": "questionCode"
+ },
+ domProps: {
+ "value": (_vm.currentQuestionCode)
+ },
+ on: {
+ "input": function($event) {
+ if ($event.target.composing) { return; }
+ _vm.currentQuestionCode = $event.target.value
+ }
+ }
+ })]), _vm._v(" "), _c('div', {
+ staticClass: "form-group col-sm-6 contains-question-selector"
+ }, [_c('label', {
+ attrs: {
+ "for": "questionCode"
+ }
+ }, [_vm._v(_vm._s(_vm._f("translate")('Question type')))]), _vm._v(" "), _c('div', {
+ domProps: {
+ "innerHTML": _vm._s(_vm.questionEditButton)
+ }
+ }), _vm._v(" "), _c('input', {
+ attrs: {
+ "type": "hidden",
+ "id": "question_type",
+ "name": "type"
+ },
+ domProps: {
+ "value": _vm.$store.state.currentQuestion.type
+ },
+ on: {
+ "change": _vm.questionTypeChangeTriggered
+ }
+ })])]), _vm._v(" "), _c('div', {
+ staticClass: "row"
+ }, [_c('language-selector', {
+ attrs: {
+ "elId": 'questioneditor',
+ "aLanguages": _vm.$store.state.languages,
+ "parentCurrentLanguage": _vm.$store.state.activeLanguage
+ },
+ on: {
+ "change": _vm.selectLanguage
+ }
+ })], 1), _vm._v(" "), _c('div', {
+ staticClass: "row"
+ }, [_c('div', {
+ staticClass: "col-sm-12 ls-space margin top-5 bottom-5 scope-contains-ckeditor "
+ }, [_c('label', {
+ staticClass: "col-sm-12"
+ }, [_vm._v(_vm._s(_vm._f("translate")('Question')) + ":")]), _vm._v(" "), _c('ckeditor', {
+ attrs: {
+ "editor": _vm.editorQuestion,
+ "config": _vm.editorQuestionConfig
+ },
+ on: {
+ "input": _vm.runDebouncedChange
+ },
+ model: {
+ value: (_vm.currentQuestionQuestion),
+ callback: function($$v) {
+ _vm.currentQuestionQuestion = $$v
+ },
+ expression: "currentQuestionQuestion"
+ }
+ })], 1), _vm._v(" "), _c('div', {
+ staticClass: "col-sm-12 ls-space margin top-5 bottom-5 scope-contains-ckeditor "
+ }, [_c('label', {
+ staticClass: "col-sm-12"
+ }, [_vm._v(_vm._s(_vm._f("translate")('Help')) + ":")]), _vm._v(" "), _c('ckeditor', {
+ attrs: {
+ "editor": _vm.editorHelp,
+ "config": _vm.editorHelpConfig
+ },
+ on: {
+ "input": _vm.runDebouncedChange
+ },
+ model: {
+ value: (_vm.currentQuestionHelp),
+ callback: function($$v) {
+ _vm.currentQuestionHelp = $$v
+ },
+ expression: "currentQuestionHelp"
+ }
+ })], 1)]), _vm._v(" "), _vm._m(0), _vm._v(" "), _c('div', {
+ staticClass: "row"
+ }, [_c('div', {
+ staticClass: "col-sm-12 ls-space margin bottom-5"
+ }, [_c('button', {
+ staticClass: "btn btn-default pull-right",
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.triggerPreview($event)
+ }
+ }
+ }, [_vm._v("\n " + _vm._s(_vm.previewActive ? "Hide Preview" : "Show Preview") + "\n ")])]), _vm._v(" "), _c('div', {
+ staticClass: "col-sm-12 ls-space margin top-5 bottom-5"
+ }, [_c('div', {
+ directives: [{
+ name: "show",
+ rawName: "v-show",
+ value: (_vm.previewActive),
+ expression: "previewActive"
+ }],
+ staticClass: "scope-preview"
+ }, [_c('PreviewFrame', {
+ attrs: {
+ "id": 'previewFrame',
+ "content": _vm.previewContent,
+ "root-url": _vm.previewRootUrl,
+ "loading": _vm.previewLoading
+ }
+ })], 1)])])])])
+},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _c('div', {
+ staticClass: "row"
+ }, [_c('div', {
+ staticClass: "col-sm-12 ls-space margin top-5 bottom-5"
+ }, [_c('hr')])])
+}]}
+module.exports.render._withStripped = true
+if (false) {
+ module.hot.accept()
+ if (module.hot.data) {
+ require("vue-hot-reload-api").rerender("data-v-33645a86", module.exports)
+ }
+}
-/** Used to detect host constructors (Safari). */
-var reIsHostCtor = /^\[object .+?Constructor\]$/;
+/***/ }),
+/* 153 */
+/***/ (function(module, exports, __webpack_require__) {
-/** Used for built-in method references. */
-var funcProto = Function.prototype,
- objectProto = Object.prototype;
+var disposed = false
+function injectStyle (ssrContext) {
+ if (disposed) return
+ __webpack_require__(154)
+}
+var Component = __webpack_require__(1)(
+ /* script */
+ __webpack_require__(156),
+ /* template */
+ __webpack_require__(221),
+ /* styles */
+ injectStyle,
+ /* scopeId */
+ "data-v-df131e4a",
+ /* moduleIdentifier (server only) */
+ null
+)
+Component.options.__file = "C:\\IISPages\\LimeSurveyDevelop\\assets\\packages\\questioneditor\\src\\components\\generalSettings.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key.substr(0, 2) !== "__"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] generalSettings.vue: functional components are not supported with templates, they should use render functions.")}
-/** Used to resolve the decompiled source of functions. */
-var funcToString = funcProto.toString;
+/* hot reload */
+if (false) {(function () {
+ var hotAPI = require("vue-hot-reload-api")
+ hotAPI.install(require("vue"), false)
+ if (!hotAPI.compatible) return
+ module.hot.accept()
+ if (!module.hot.data) {
+ hotAPI.createRecord("data-v-df131e4a", Component.options)
+ } else {
+ hotAPI.reload("data-v-df131e4a", Component.options)
+ }
+ module.hot.dispose(function (data) {
+ disposed = true
+ })
+})()}
-/** Used to check objects for own properties. */
-var hasOwnProperty = objectProto.hasOwnProperty;
+module.exports = Component.exports
-/** Used to detect if a method is native. */
-var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
-);
-/**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
-function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
-}
+/***/ }),
+/* 154 */
+/***/ (function(module, exports, __webpack_require__) {
-module.exports = baseIsNative;
+// style-loader: Adds some css to the DOM by adding a
diff --git a/assets/packages/questioneditor/src/components/_inputtypes/text.vue b/assets/packages/questioneditor/src/components/_inputtypes/text.vue
new file mode 100644
index 00000000000..82e71d1f447
--- /dev/null
+++ b/assets/packages/questioneditor/src/components/_inputtypes/text.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/packages/questioneditor/src/components/_inputtypes/textarea.vue b/assets/packages/questioneditor/src/components/_inputtypes/textarea.vue
new file mode 100644
index 00000000000..1eb70bd6a16
--- /dev/null
+++ b/assets/packages/questioneditor/src/components/_inputtypes/textarea.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
{{elOptions.inputGroup.prefix}}
+
+
{{elOptions.inputGroup.suffix}}
+
+
+
+
\ No newline at end of file
diff --git a/assets/packages/questioneditor/src/components/_inputtypes/textinput.vue b/assets/packages/questioneditor/src/components/_inputtypes/textinput.vue
new file mode 100644
index 00000000000..788c6401b11
--- /dev/null
+++ b/assets/packages/questioneditor/src/components/_inputtypes/textinput.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
{{elOptions.inputGroup.prefix}}
+
+
{{elOptions.inputGroup.suffix}}
+
+
+
+
\ No newline at end of file
diff --git a/assets/packages/questioneditor/src/components/generalSettings.vue b/assets/packages/questioneditor/src/components/generalSettings.vue
index 1b524f91044..c5e52a09361 100644
--- a/assets/packages/questioneditor/src/components/generalSettings.vue
+++ b/assets/packages/questioneditor/src/components/generalSettings.vue
@@ -1,21 +1,64 @@