Мелкие правки

remotes/origin/hasaccess
Vitaly Baev 8 years ago
parent e5d1f83ea8
commit b29027c2e6
  1. 2
      web/build/css/app.css
  2. 113
      web/build/js/app.js
  3. 1770
      web/build/js/courseRedactor.js
  4. 33
      web/package-lock.json
  5. 1
      web/package.json
  6. 6
      web/src/components/CourseRedactor.vue
  7. 27
      web/src/components/blocks/BlockImages.vue
  8. 10
      web/src/components/inputs/LilSelect.vue
  9. 4
      web/src/sass/_common.sass

@ -2446,7 +2446,7 @@ a.grey-link:hover {
}
.field_info .field__label {
color: #A7A7A7;
color: rgba(255, 255, 255, 0.8);
}
.field_info .field__input,

@ -61,7 +61,7 @@ var app =
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 263);
/******/ return __webpack_require__(__webpack_require__.s = 264);
/******/ })
/************************************************************************/
/******/ ([
@ -1913,7 +1913,7 @@ function loadLocale(name) {
try {
oldLocale = globalLocale._abbr;
var aliasedRequire = require;
__webpack_require__(280)("./" + name);
__webpack_require__(281)("./" + name);
getSetGlobalLocale(oldLocale);
} catch (e) {}
}
@ -4605,7 +4605,7 @@ return hooks;
})));
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(279)(module)))
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(280)(module)))
/***/ }),
/* 2 */,
@ -15053,7 +15053,8 @@ module.exports = g;
/* 48 */,
/* 49 */,
/* 50 */,
/* 51 */
/* 51 */,
/* 52 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -15073,7 +15074,6 @@ function assertString(input) {
module.exports = exports['default'];
/***/ }),
/* 52 */,
/* 53 */,
/* 54 */,
/* 55 */,
@ -26992,15 +26992,14 @@ var createPath = exports.createPath = function createPath(location) {
/* 260 */,
/* 261 */,
/* 262 */,
/* 263 */
/* 263 */,
/* 264 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
__webpack_require__(264);
__webpack_require__(266);
__webpack_require__(265);
__webpack_require__(267);
@ -27008,7 +27007,7 @@ __webpack_require__(268);
__webpack_require__(269);
__webpack_require__(275);
__webpack_require__(270);
__webpack_require__(276);
@ -27016,12 +27015,14 @@ __webpack_require__(277);
__webpack_require__(278);
__webpack_require__(288);
__webpack_require__(279);
__webpack_require__(289);
__webpack_require__(290);
/***/ }),
/* 264 */
/* 265 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -27031,7 +27032,7 @@ var _jquery = __webpack_require__(11);
var _jquery2 = _interopRequireDefault(_jquery);
var _smoothScroll = __webpack_require__(265);
var _smoothScroll = __webpack_require__(266);
var _smoothScroll2 = _interopRequireDefault(_smoothScroll);
@ -27070,7 +27071,7 @@ function updateHeader() {
}
/***/ }),
/* 265 */
/* 266 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@ -27653,7 +27654,7 @@ function updateHeader() {
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(46)))
/***/ }),
/* 266 */
/* 267 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -27702,7 +27703,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 267 */
/* 268 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -27744,7 +27745,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 268 */
/* 269 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -27766,7 +27767,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 269 */
/* 270 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -27776,15 +27777,15 @@ var _jquery = __webpack_require__(11);
var _jquery2 = _interopRequireDefault(_jquery);
var _isEmail = __webpack_require__(270);
var _isEmail = __webpack_require__(271);
var _isEmail2 = _interopRequireDefault(_isEmail);
var _isEmpty = __webpack_require__(273);
var _isEmpty = __webpack_require__(274);
var _isEmpty2 = _interopRequireDefault(_isEmpty);
var _isLength = __webpack_require__(274);
var _isLength = __webpack_require__(275);
var _isLength2 = _interopRequireDefault(_isLength);
@ -28095,7 +28096,7 @@ function login_with_facebook(accessToken) {
}
/***/ }),
/* 270 */
/* 271 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28106,7 +28107,7 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = isEmail;
var _assertString = __webpack_require__(51);
var _assertString = __webpack_require__(52);
var _assertString2 = _interopRequireDefault(_assertString);
@ -28114,11 +28115,11 @@ var _merge = __webpack_require__(98);
var _merge2 = _interopRequireDefault(_merge);
var _isByteLength = __webpack_require__(271);
var _isByteLength = __webpack_require__(272);
var _isByteLength2 = _interopRequireDefault(_isByteLength);
var _isFQDN = __webpack_require__(272);
var _isFQDN = __webpack_require__(273);
var _isFQDN2 = _interopRequireDefault(_isFQDN);
@ -28190,7 +28191,7 @@ function isEmail(str, options) {
module.exports = exports['default'];
/***/ }),
/* 271 */
/* 272 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28204,7 +28205,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
exports.default = isByteLength;
var _assertString = __webpack_require__(51);
var _assertString = __webpack_require__(52);
var _assertString2 = _interopRequireDefault(_assertString);
@ -28229,7 +28230,7 @@ function isByteLength(str, options) {
module.exports = exports['default'];
/***/ }),
/* 272 */
/* 273 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28240,7 +28241,7 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = isFQDN;
var _assertString = __webpack_require__(51);
var _assertString = __webpack_require__(52);
var _assertString2 = _interopRequireDefault(_assertString);
@ -28296,7 +28297,7 @@ function isFQDN(str, options) {
module.exports = exports['default'];
/***/ }),
/* 273 */
/* 274 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28307,7 +28308,7 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = isEmpty;
var _assertString = __webpack_require__(51);
var _assertString = __webpack_require__(52);
var _assertString2 = _interopRequireDefault(_assertString);
@ -28320,7 +28321,7 @@ function isEmpty(str) {
module.exports = exports['default'];
/***/ }),
/* 274 */
/* 275 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28334,7 +28335,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
exports.default = isLength;
var _assertString = __webpack_require__(51);
var _assertString = __webpack_require__(52);
var _assertString2 = _interopRequireDefault(_assertString);
@ -28360,7 +28361,7 @@ function isLength(str, options) {
module.exports = exports['default'];
/***/ }),
/* 275 */
/* 276 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28416,7 +28417,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 276 */
/* 277 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28452,7 +28453,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 277 */
/* 278 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28514,7 +28515,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 278 */
/* 279 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28528,7 +28529,7 @@ var _moment = __webpack_require__(1);
var _moment2 = _interopRequireDefault(_moment);
var _createBrowserHistory = __webpack_require__(281);
var _createBrowserHistory = __webpack_require__(282);
var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);
@ -28653,7 +28654,7 @@ function load_courses(coursesUrl, fromStart) {
}
/***/ }),
/* 279 */
/* 280 */
/***/ (function(module, exports) {
module.exports = function(module) {
@ -28681,7 +28682,7 @@ module.exports = function(module) {
/***/ }),
/* 280 */
/* 281 */
/***/ (function(module, exports, __webpack_require__) {
var map = {
@ -28938,10 +28939,10 @@ webpackContext.keys = function webpackContextKeys() {
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 280;
webpackContext.id = 281;
/***/ }),
/* 281 */
/* 282 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -28957,19 +28958,19 @@ var _warning = __webpack_require__(218);
var _warning2 = _interopRequireDefault(_warning);
var _invariant = __webpack_require__(282);
var _invariant = __webpack_require__(283);
var _invariant2 = _interopRequireDefault(_invariant);
var _LocationUtils = __webpack_require__(283);
var _LocationUtils = __webpack_require__(284);
var _PathUtils = __webpack_require__(219);
var _createTransitionManager = __webpack_require__(286);
var _createTransitionManager = __webpack_require__(287);
var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
var _DOMUtils = __webpack_require__(287);
var _DOMUtils = __webpack_require__(288);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@ -29254,7 +29255,7 @@ var createBrowserHistory = function createBrowserHistory() {
exports.default = createBrowserHistory;
/***/ }),
/* 282 */
/* 283 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -29312,7 +29313,7 @@ module.exports = invariant;
/***/ }),
/* 283 */
/* 284 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -29323,11 +29324,11 @@ exports.locationsAreEqual = exports.createLocation = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _resolvePathname = __webpack_require__(284);
var _resolvePathname = __webpack_require__(285);
var _resolvePathname2 = _interopRequireDefault(_resolvePathname);
var _valueEqual = __webpack_require__(285);
var _valueEqual = __webpack_require__(286);
var _valueEqual2 = _interopRequireDefault(_valueEqual);
@ -29396,7 +29397,7 @@ var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a
};
/***/ }),
/* 284 */
/* 285 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@ -29473,7 +29474,7 @@ function resolvePathname(to) {
/* harmony default export */ __webpack_exports__["default"] = (resolvePathname);
/***/ }),
/* 285 */
/* 286 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@ -29518,7 +29519,7 @@ function valueEqual(a, b) {
/* harmony default export */ __webpack_exports__["default"] = (valueEqual);
/***/ }),
/* 286 */
/* 287 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -29609,7 +29610,7 @@ var createTransitionManager = function createTransitionManager() {
exports.default = createTransitionManager;
/***/ }),
/* 287 */
/* 288 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -29670,7 +29671,7 @@ var isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isE
};
/***/ }),
/* 288 */
/* 289 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -29742,7 +29743,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
});
/***/ }),
/* 289 */
/* 290 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";

File diff suppressed because one or more lines are too long

@ -379,6 +379,15 @@
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
"dev": true
},
"axios": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
"integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
"requires": {
"follow-redirects": "1.4.1",
"is-buffer": "1.1.6"
}
},
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@ -3597,6 +3606,24 @@
"integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
"dev": true
},
"follow-redirects": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
"integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
"requires": {
"debug": "3.1.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@ -6196,8 +6223,7 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-builtin-module": {
"version": "1.0.0",
@ -7517,8 +7543,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multimatch": {
"version": "2.1.0",

@ -53,6 +53,7 @@
"webpack": "^3.10.0"
},
"dependencies": {
"axios": "^0.17.1",
"babel-polyfill": "^6.26.0",
"history": "^4.7.2",
"jquery": "^3.3.1",

@ -29,19 +29,19 @@
</div>
<div class="info__foot">
<div class="info__field field field_info">
<div class="field__label">КАТЕГОРИЯ</div>
<div class="field__label field__label_gray">КАТЕГОРИЯ</div>
<div class="field__wrap">
<input type="text" class="field__input" v-model="course.category">
</div>
</div>
<div class="info__field field field_info">
<div class="field__label">ПРОДОЛЖИТЕЛЬНОСТЬ</div>
<div class="field__label field__label_gray">ПРОДОЛЖИТЕЛЬНОСТЬ</div>
<div class="field__wrap">
<input type="text" class="field__input" v-model.number="course.duration">
</div>
</div>
<div class="info__field field field_info">
<div class="field__label">СТОИМОСТЬ</div>
<div class="field__label field__label_gray">СТОИМОСТЬ</div>
<div class="field__wrap">
<input type="text" class="field__input" v-model="displayPrice" :disabled="!course.is_paid">
</div>

@ -25,7 +25,7 @@
<svg class="icon icon-add-plus">
<use xlink:href="/static/img/sprite.svg#icon-add-plus"></use>
</svg>
<input type="file" class="kit__file" @change="onImageAdded">
<input type="file" class="kit__file" multiple @change="onImageAdded">
</div>
</div>
</div>
@ -43,18 +43,19 @@
this.$emit('update:text', event.target.value);
},
onImageAdded(event) {
let file = event.target.files[0];
let reader = new FileReader();
reader.onload = () => {
let images = this.images;
images.push({
src: reader.result,
});
this.$emit('update:images', images);
};
if (file) {
reader.readAsDataURL(file);
}
Array.from(event.target.files).forEach((file) => {
let reader = new FileReader();
reader.onload = () => {
let images = this.images;
images.push({
src: reader.result,
});
this.$emit('update:images', images);
};
if (file) {
reader.readAsDataURL(file);
}
});
}
}
}

@ -1,11 +1,11 @@
<template>
<div class="field__select select" v-bind:class="{ selected: isSelected, active: isOpened }">
<div class="select__head" @click="toggleOpened">
<div class="select__head" @click.stop.prevent="toggleOpened">
{{ selectedTitle }}
</div>
<div class="select__drop">
<div class="select__option" v-for="option in options">
<div class="select__title" @click="selectOption(option, $event)">{{ option.title }}</div>
<div class="select__title" @click.stop.prevent="selectOption(option)">{{ option.title }}</div>
</div>
</div>
</div>
@ -25,12 +25,10 @@
clickListener() {
this.isOpened = false;
},
toggleOpened(event) {
event.stopPropagation();
toggleOpened() {
this.isOpened = !this.isOpened
},
selectOption(option, event) {
event.stopPropagation();
selectOption(option) {
this.isOpened = !this.isOpened;
this.$emit('update:value', option);
}

@ -1867,7 +1867,7 @@ a.grey-link
letter-spacing: 1px
text-transform: uppercase
&_gray
color: $gray
color: $gray
&__link
margin-left: auto
&__wrap
@ -1922,7 +1922,7 @@ a.grey-link
height: 40px
font-size: 15px
&_info &__label
color: $gray
color: rgba(255, 255, 255, 0.8)
&_info &__input,
&_info &__textarea
border-color: rgba($border,.2)

Loading…
Cancel
Save