Browse Source

Merge dev branch

no-jquery
Artur Arseniev 8 years ago
parent
commit
df9f64c25c
  1. 10
      .editorconfig
  2. 4
      .gitignore
  3. 4
      .npmignore
  4. 8
      README.md
  5. 4
      dist/grapes.min.js
  6. 2
      src/asset_manager/view/FileUploader.js
  7. 12
      src/commands/index.js
  8. 102
      src/styles/scss/_gjs_variables.scss
  9. 30
      test/specs/commands/index.js
  10. 16
      test/specs/grapesjs/index.js

10
.editorconfig

@ -0,0 +1,10 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[*.js]
charset = utf-8
indent_style = space
indent_size = 2

4
.gitignore

@ -2,7 +2,8 @@
.settings/
.sass-cache/
.project
npm-debug.log
.idea
npm-debug.log*
style/.sass-cache/
img/
@ -13,3 +14,4 @@ vendor/
coverage/
node_modules/
bower_components/
grapesjs-*.tgz

4
.npmignore

@ -0,0 +1,4 @@
test
index.html
webpack.config.js
grapesjs-*.tgz

8
README.md

@ -1,9 +1,15 @@
# [GrapesJS](http://grapesjs.com)
[![Build Status](https://travis-ci.org/artf/grapesjs.svg?branch=master)](https://travis-ci.org/artf/grapesjs)
[![Chat](https://img.shields.io/badge/chat-discord-7289da.svg)](https://discord.gg/QAbgGXq)
<p align="center"><img src="http://grapesjs.com/img/grapesjs-front-page-m.jpg" alt="GrapesJS" width="500" align="center"/></p>
<br/>
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/nb9nPYf2XqCE1PbgcQj6gf4D/artf/grapesjs'>
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/nb9nPYf2XqCE1PbgcQj6gf4D/artf/grapesjs.svg' />
</a>
GrapesJS is a free and open source Web Builder Framework which helps you building HTML templates to be used inside sites, newsletters and mobile apps.
Mainly GrapesJS was designed to be used inside a [CMS] to speed up a creation of dynamic templates. To better understand this concept check the image below

4
dist/grapes.min.js

File diff suppressed because one or more lines are too long

2
src/asset_manager/view/FileUploader.js

@ -73,7 +73,7 @@ module.exports = Backbone.View.extend({
const em = this.config.em;
const config = this.config;
const target = this.target;
const json = typeof text === 'text' ? JSON.parse(text) : text;
const json = typeof text === 'string' ? JSON.parse(text) : text;
em && em.trigger('asset:upload:response', json);
if (config.autoAdd && target) {

12
src/commands/index.js

@ -196,15 +196,9 @@ module.exports = () => {
if(c.em)
c.model = c.em.get('Canvas');
return this;
},
this.loadDefaultCommands()
/**
* On load callback
* @private
*/
onLoad() {
this.loadDefaultCommands();
return this;
},
/**
@ -258,7 +252,7 @@ module.exports = () => {
* */
loadDefaultCommands() {
for (var id in defaultCommands) {
this.add(id, defaultCommands[id]);
this.add(id, defaultCommands[id]);
}
return this;

102
src/styles/scss/_gjs_variables.scss

@ -1,78 +1,76 @@
/* Class names prefixes */
$app-prefix: 'gjs-' !default;
$nv-prefix: $app-prefix + 'nv-' !default;
$rte-prefix: $app-prefix + 'rte-' !default;
$comp-prefix: $app-prefix + 'comp-' !default;
$mdl-prefix: $app-prefix + 'mdl-' !default;
$am-prefix: $app-prefix + 'am-' !default;
$cm-prefix: $app-prefix + 'cm-' !default;
$pn-prefix: $app-prefix + 'pn-' !default;
$com-prefix: $app-prefix + 'com-' !default;
$sm-prefix: $app-prefix + 'sm-' !default;
$cv-prefix: $app-prefix + 'cv-' !default;
$clm-prefix: $app-prefix + 'clm-' !default;
$trt-prefix: $app-prefix + 'trt-' !default;
$app-prefix: 'gjs-' !default;
$nv-prefix: $app-prefix + 'nv-' !default;
$rte-prefix: $app-prefix + 'rte-' !default;
$comp-prefix: $app-prefix + 'comp-' !default;
$mdl-prefix: $app-prefix + 'mdl-' !default;
$am-prefix: $app-prefix + 'am-' !default;
$cm-prefix: $app-prefix + 'cm-' !default;
$pn-prefix: $app-prefix + 'pn-' !default;
$com-prefix: $app-prefix + 'com-' !default;
$sm-prefix: $app-prefix + 'sm-' !default;
$cv-prefix: $app-prefix + 'cv-' !default;
$clm-prefix: $app-prefix + 'clm-' !default;
$trt-prefix: $app-prefix + 'trt-' !default;
/* Colors / Theme */
/* Dark theme */
$mainColor: #444 !default; /* Light: #573454 Dark: #3b2639 -moz-linear-gradient(top, #fca99b 0%, #6e2842 100%) */
$fontColor: #ddd !default; /* l: #d8d7db */
$fontColorActive: #f8f8f8 !default;
$mainColor: #444 !default; /* Light: #573454 Dark: #3b2639 -moz-linear-gradient(top, #fca99b 0%, #6e2842 100%) */
$fontColor: #ddd !default; /* l: #d8d7db */
$fontColorActive: #f8f8f8 !default;
/* Light theme
$mainColor: #fff;
$fontColor: #9299a3;
$fontColorActive: #4f8ef7;
$mainColor: #fff;
$fontColor: #9299a3;
$fontColorActive: #4f8ef7;
*/
$mainDkColor: rgba(0, 0, 0, 0.2) !default;/* darken($mainColor, 4%) - #383838 */
$mainDklColor: rgba(0, 0, 0, 0.1) !default;
$mainLhColor: rgba(255, 255, 255, 0.1) !default; /* #515151 */
$mainLhlColor: rgba(255, 255, 255, 0.7) !default;
$fontColorDk: #777 !default;
$mainFont: Helvetica, sans-serif !default;
$colorBlue: #3b97e3 !default;
$colorRed: #dd3636 !default;
$colorYell: #ffca6f !default;
$colorGreen: #62c462 !default;
$tagBg: #804f7b !default;
$secColor: $tagBg !default;
$imageCompDim: 50px !default;
$leftWidth: 15% !default;
$mainDkColor: rgba(0, 0, 0, 0.2) !default;/* darken($mainColor, 4%) - #383838 */
$mainDklColor: rgba(0, 0, 0, 0.1) !default;
$mainLhColor: rgba(255, 255, 255, 0.1) !default; /* #515151 */
$mainLhlColor: rgba(255, 255, 255, 0.7) !default;
$fontColorDk: #777 !default;
$mainFont: Helvetica, sans-serif !default;
$colorBlue: #3b97e3 !default;
$colorRed: #dd3636 !default;
$colorYell: #ffca6f !default;
$colorGreen: #62c462 !default;
$tagBg: #804f7b !default;
$secColor: $tagBg !default;
$imageCompDim: 50px !default;
$leftWidth: 15% !default;
/* Color Helpers */
$colorHighlight: #71b7f1 !default;
$colorWarn: #ffca6f !default;
$colorHighlight: #71b7f1 !default;
$colorWarn: #ffca6f !default;
/* Canvas */
$hndlMargin: -5px !default;
$hndlMargin: -5px !default;
/* Components / Inputs */
$lightBorder: rgba(255, 255, 255, 0.05) !default;
$inputFontColor: $mainLhlColor !default; /* #d5d5d5 */
$arrowColor: $mainLhlColor !default; /* b1b1b1 */
$darkTextShadow: $mainDkColor !default; /* #252525 */
$darkBorder: rgba(0, 0, 0, 0.15) !default; /* 303030 */
$colorpSize: 22px !default;
$inputPadding: 5px !default; // Has to be a single value
$lightBorder: rgba(255, 255, 255, 0.05) !default;
$inputFontColor: $mainLhlColor !default; /* #d5d5d5 */
$arrowColor: $mainLhlColor !default; /* b1b1b1 */
$darkTextShadow: $mainDkColor !default; /* #252525 */
$darkBorder: rgba(0, 0, 0, 0.15) !default; /* 303030 */
$colorpSize: 22px !default;
$inputPadding: 5px !default; // Has to be a single value
/* Class manager */
$addBtnBg: lighten($mainDkColor, 10%) !default;
$paddElClm: 5px 6px !default;
$addBtnBg: lighten($mainDkColor, 10%) !default;
$paddElClm: 5px 6px !default;
/* File uploader */
$uploadPadding: 150px 10px !default;
$uploadPadding: 150px 10px !default;
/* Commands */
$animSpeed: 0.2s !default;
$animSpeed: 0.2s !default;
/* Fonts */
$fontPath: '../fonts' !default;
$fontName: 'main-fonts' !default;
$fontV: 20 !default;//random(1000)
$fontPath: '../fonts' !default;
$fontName: 'main-fonts' !default;
$fontV: 20 !default;//random(1000)

30
test/specs/commands/index.js

@ -25,8 +25,30 @@ describe('Commands', () => {
expect(obj.get('test').test).toEqual('test');
});
it('No default commands at init', () => {
expect(obj.get('select-comp')).toEqual(null);
it('Load default commands at init', () => {
expect(obj.get('select-comp')).toNotEqual(null);
expect(obj.get('create-comp')).toNotEqual(null);
expect(obj.get('delete-comp')).toNotEqual(null);
expect(obj.get('image-comp')).toNotEqual(null);
expect(obj.get('move-comp')).toNotEqual(null);
expect(obj.get('text-comp')).toNotEqual(null);
expect(obj.get('insert-custom')).toNotEqual(null);
expect(obj.get('export-template')).toNotEqual(null);
expect(obj.get('sw-visibility')).toNotEqual(null);
expect(obj.get('open-layers')).toNotEqual(null);
expect(obj.get('open-sm')).toNotEqual(null);
expect(obj.get('open-tm')).toNotEqual(null);
expect(obj.get('open-blocks')).toNotEqual(null);
expect(obj.get('open-assets')).toNotEqual(null);
expect(obj.get('show-offset')).toNotEqual(null);
expect(obj.get('select-parent')).toNotEqual(null);
expect(obj.get('tlb-delete')).toNotEqual(null);
expect(obj.get('tlb-clone')).toNotEqual(null);
expect(obj.get('tlb-move')).toNotEqual(null);
expect(obj.get('fullscreen')).toNotEqual(null);
expect(obj.get('preview')).toNotEqual(null);
expect(obj.get('resize')).toNotEqual(null);
expect(obj.get('drag')).toNotEqual(null);
});
it('Default commands after loadDefaultCommands', () => {
@ -34,6 +56,10 @@ describe('Commands', () => {
expect(obj.get('select-comp')).toNotEqual(null);
});
it('Commands module should not have toLoad property', () => {
expect(obj.toLoad).toEqual(null);
});
});
});

16
test/specs/grapesjs/index.js

@ -230,6 +230,22 @@ describe('GrapesJS', () => {
expect(editor.getDevice()).toEqual('Tablet');
});
// Problems with iframe loading
it.skip('Init new editor with custom plugin overrides default commands', () => {
var editor,
pluginName = 'test-plugin-opts';
obj.plugins.add(pluginName, (edt, opts) => {
let cmdm = edt.Commands;
// Overwrite export template
cmdm.add('export-template', {test: 1});
});
config.plugins = [pluginName];
editor = obj.init(config);
expect(editor.Commands.get('export-template').test).toEqual(1);
});
});
});

Loading…
Cancel
Save