Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/AdFabConnect/abejs
Browse files Browse the repository at this point in the history
  • Loading branch information
gregorybesson committed Sep 5, 2016
2 parents 09d561a + 5707636 commit 9f68155
Show file tree
Hide file tree
Showing 22 changed files with 1,391 additions and 1,320 deletions.
5 changes: 2 additions & 3 deletions dist/cli/Builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ var Builder = function Builder(root, folder, dest, flow) {

if (flow === 'publish') {
files = _.FileParser.getFiles(_.fileUtils.concatPath(root, _.config.publish.url), new RegExp('.' + _.config.files.templates.extension));
// files = FileParser.getMetas(files, 'draft')
}

var build = function build(index) {
Expand All @@ -40,7 +39,7 @@ var Builder = function Builder(root, folder, dest, flow) {
var text = (0, _.getTemplate)(json.abe_meta.template);

_.Util.getDataList(_.fileUtils.removeLast(json.abe_meta.link), text, json).then(function () {
var page = new _.Page(json.abe_meta.link, text, json, true);
var page = new _.Page(json.abe_meta.template, text, json, true);
(0, _Save.saveHtml)(_.fileUtils.concatPath(root, dest + json.abe_meta.link), page.html);
if (files[index + 1]) build(index + 1);
}).catch(function (e) {
Expand All @@ -52,7 +51,7 @@ var Builder = function Builder(root, folder, dest, flow) {
var text = (0, _.getTemplate)(json.abe_meta.template);

_.Util.getDataList(_.fileUtils.removeLast(json.abe_meta.link), text, json).then(function () {
var page = new _.Page(json.abe_meta.link, text, json, true);
var page = new _.Page(json.abe_meta.template, text, json, true);
(0, _Save.saveHtml)(_.fileUtils.concatPath(root, dest + json.abe_meta.link), page.html);
if (files[index + 1]) build(index + 1);
}).catch(function (e) {
Expand Down
3 changes: 2 additions & 1 deletion dist/cli/config/abe-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ var config = {
templates: {
extension: 'html',
assets: '_files',
check: /\.hbs|\.shtml|\.html|\.htm/
check: /\.hbs|\.shtml|\.html|\.htm/,
precompile: false
}
},
log: {
Expand Down
132 changes: 4 additions & 128 deletions dist/cli/controllers/Save.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,24 +132,6 @@ function save(url, tplPath) {
text = (0, _.getTemplate)(fullTpl);
}

/**
* For paginate
*/
var listRegSource = /({{abe.*type=[\'|\"]data.*}})/g,
matchSource,
paginated = [];

while (matchSource = listRegSource.exec(text)) {
var objSource = _.Util.getAllAttributes(matchSource[0], json);
if (typeof objSource.paginate !== 'undefined' && objSource.paginate !== null && objSource.paginate !== '') {
paginated.push({
start: objSource.paginateStart || 0,
key: objSource.key,
size: parseInt(objSource.paginate)
});
}
}

_.Util.getDataList(_.fileUtils.removeLast(tplUrl.publish.link), text, json).then(function () {

json = _.Hooks.instance.trigger('afterGetDataListOnSave', json);
Expand Down Expand Up @@ -186,17 +168,7 @@ function save(url, tplPath) {

text = _.Util.removeDataList(text);

var res = {};

if (paginated.length > 0) {
Array.prototype.forEach.call(paginated, function (page) {
if (typeof page.key !== 'undefined' && page.key !== null) {
res = saveJsonAndHtml(tplUrl.publish.path, obj, text, type, page.key, page.size);
}
});
} else {
res = saveJsonAndHtml(tplUrl.publish.path, obj, text, type);
}
var res = saveJsonAndHtml(tplUrl.publish.path, obj, text, type);

obj = _.Hooks.instance.trigger('afterSave', obj);

Expand Down Expand Up @@ -224,108 +196,12 @@ function splitArray(ar, chunkSize) {
}));
}

function saveJsonAndHtml(tplPath, obj, html, type, paginateKey, paginateSize) {
var page = '';
if (type === 'publish' && typeof paginateKey !== 'undefined' && paginateKey !== null) {
var jsonPart = splitArray(obj.json.content[paginateKey], paginateSize);
jsonPart = _.Hooks.instance.trigger('afterSplittedPagination', jsonPart, obj.json.content);

return {};
var pageToSave = [];
var paginateLink = [];

var currentUrl = _.fileUtils.removeExtension(obj.html.path);
currentUrl = currentUrl.replace(_.config.root, '');
currentUrl = currentUrl.replace(_.config.publish.url, '');

for (var k = 1, length3 = jsonPart.length; k <= length3; k++) {
var newJson = JSON.parse(JSON.stringify(obj.json.content));
newJson[paginateKey] = jsonPart[k - 1];
var current = k;
var prev;
var next;
if (k !== 1) {
prev = k - 1;
}
if (k !== length3) {
next = k + 1;
}

var paginatePath = '';
if (k === 1) {
paginatePath = obj.html.path;
} else {
paginatePath = _.fileUtils.removeExtension(obj.html.path) + '-' + k + '.' + _.config.files.templates.extension;
}

var link = paginatePath.replace(_.config.root, '');
link = link.replace(_.config.publish.url, '');

paginateLink.push({
link: link,
index: k
});
var currentJson = {
size: paginateSize,
path: paginatePath,
current: k,
json: newJson
};
if (prev > 0) {
currentJson.prev = currentUrl + '-' + (k - 1) + '.' + _.config.files.templates.extension;
}
if (k < length3) {
currentJson.next = currentUrl + '-' + next + '.' + _.config.files.templates.extension;
}
currentJson.first = currentUrl + '.' + _.config.files.templates.extension;
currentJson.last = currentUrl + '-' + length3 + '.' + _.config.files.templates.extension;

pageToSave.push(currentJson);
}

Array.prototype.forEach.call(pageToSave, function (pSave) {
var jsonToSave = JSON.parse(JSON.stringify(pSave.json));
if (typeof jsonToSave.abe_meta.paginate === 'undefined' || jsonToSave.abe_meta.paginate === null) {
jsonToSave.abe_meta.paginate = {};
}
jsonToSave.abe_meta.paginate[paginateKey] = {
size: pSave.size,
current: pSave.current,
links: paginateLink
};
if (typeof pSave.prev !== 'undefined' && pSave.prev !== null) {
jsonToSave.abe_meta.paginate[paginateKey].prev = pSave.prev;
}
if (typeof pSave.next !== 'undefined' && pSave.next !== null) {
jsonToSave.abe_meta.paginate[paginateKey].next = pSave.next;
}
if (typeof pSave.first !== 'undefined' && pSave.first !== null) {
jsonToSave.abe_meta.paginate[paginateKey].first = pSave.first;
}
if (typeof pSave.last !== 'undefined' && pSave.last !== null) {
jsonToSave.abe_meta.paginate[paginateKey].last = pSave.last;
}
function saveJsonAndHtml(tplPath, obj, html, type) {

var paginateHtml = _.Hooks.instance.trigger('beforePaginateHtml', html, pSave.current);
page = new _.Page(tplPath, paginateHtml, jsonToSave, true);
saveHtml(pSave.path, page.html);
});
var page = new _.Page(tplPath, html, obj.json.content, true);

if (typeof obj.json.content.abe_meta.paginate === 'undefined' || obj.json.content.abe_meta.paginate === null) {
obj.json.content.abe_meta.paginate = {
links: paginateLink,
size: paginateSize
};
}
} else {
page = new _.Page(tplPath, html, obj.json.content, true);

saveHtml(obj.html.path, page.html);
}
saveHtml(obj.html.path, page.html);
saveJson(obj.json.path, obj.json.content);
// page = new Page(tplPath, html, json, true)

// saveHtml(obj.html, page.html)

return {
json: obj.json.content,
Expand Down
9 changes: 6 additions & 3 deletions dist/cli/handlebars/utils/truncate.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
"use strict";
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = truncate;

var _handlebars = require("handlebars");
var _handlebars = require('handlebars');

var _handlebars2 = _interopRequireDefault(_handlebars);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function truncate(str, len) {
if (str && str.length > len) {
if (typeof str !== 'undefined' && str.length > len) {
new_str = new _handlebars2.default.SafeString(str);
var new_str = str + " ";
new_str = str.substr(0, len);
new_str = str.substr(0, new_str.lastIndexOf(" "));
new_str = new_str.length > 0 ? new_str : str.substr(0, len);

return new_str + '...';
} else {

return '';
}

return new _handlebars2.default.SafeString(str);
Expand Down
2 changes: 1 addition & 1 deletion dist/cli/helpers/abe-create.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var create = function create(template, path, name, req) {
var tpl = templatePath;
var text = (0, _cli.getTemplate)(tpl);
if (duplicate) {
json = (0, _cli.removeDuplicateAttr)(text, json);
json = removeDuplicateAttr(text, json);
}
text = _cli.Util.removeDataList(text);
var resHook = _cli.Hooks.instance.trigger('beforeFirstSave', filePath, req.query, json, text);
Expand Down
44 changes: 1 addition & 43 deletions dist/cli/helpers/abe-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -347,46 +347,6 @@ var Utils = function () {
}
}

if (typeof obj.paginate !== 'undefined' && obj.paginate !== null && obj.paginate !== '') {
obj.paginate = parseInt(obj.paginate);
if (typeof jsonPage.abe_meta.paginate === 'undefined' || jsonPage.abe_meta.paginate === null) {
jsonPage.abe_meta.paginate = {};
}
if (typeof jsonPage.abe_meta.paginate[obj.key] === 'undefined' || jsonPage.abe_meta.paginate[obj.key] === null) {
jsonPage.abe_meta.paginate[obj.key] = {};
}

var linksSize = Math.ceil(data.length / obj.paginate);

if (linksSize > 0) {
jsonPage.abe_meta.paginate[obj.key].size = obj.paginate;
jsonPage.abe_meta.paginate[obj.key].current = 1;
jsonPage.abe_meta.paginate[obj.key].links = [];

if (typeof jsonPage.abe_meta.paginate[obj.key].prev !== 'undefined' && jsonPage.abe_meta.paginate[obj.key].prev !== null) {
delete jsonPage.abe_meta.paginate[obj.key].prev;
}
if (typeof jsonPage.abe_meta.paginate[obj.key].first === 'undefined' || jsonPage.abe_meta.paginate[obj.key].first === null) {
jsonPage.abe_meta.paginate[obj.key].first = jsonPage.abe_meta.link;
}
for (var i = 0; i <= linksSize; i++) {
var link = jsonPage.abe_meta.link;
if (i > 0) {
link = _.fileUtils.removeExtension(link) + '-' + (i + 1) + '.' + _.config.files.templates.extension;
}
jsonPage.abe_meta.paginate[obj.key].links.push({
link: link,
index: i + 1
});
}
if ((typeof jsonPage.abe_meta.paginate[obj.key].next === 'undefined' || jsonPage.abe_meta.paginate[obj.key].next === null) && typeof jsonPage.abe_meta.paginate[obj.key].links[1] !== 'undefined' && jsonPage.abe_meta.paginate[obj.key].links[1] !== null && typeof jsonPage.abe_meta.paginate[obj.key].links[1].link !== 'undefined' && jsonPage.abe_meta.paginate[obj.key].links[1].link !== null) {
jsonPage.abe_meta.paginate[obj.key].next = jsonPage.abe_meta.paginate[obj.key].links[1].link;
}
jsonPage.abe_meta.paginate[obj.key].last = jsonPage.abe_meta.paginate[obj.key].links[jsonPage.abe_meta.paginate[obj.key].links.length - 1].link;
}
jsonPage = _.Hooks.instance.trigger('beforePaginateEditor', jsonPage, obj);
}

_.log.duration(type + " > " + logTime, (new Date().getTime() - dateStart.getTime()) / 1000);

resolveSource();
Expand Down Expand Up @@ -540,7 +500,6 @@ var Utils = function () {
order: 0,
required: false,
editable: true,
paginate: null,
visible: true
};

Expand All @@ -564,8 +523,7 @@ var Utils = function () {
order: (0, _.getAttr)(str, 'order'),
required: (0, _.getAttr)(str, 'required'),
visible: (0, _.getAttr)(str, 'visible'),
editable: (0, _.getAttr)(str, 'editable'),
paginate: (0, _.getAttr)(str, 'paginate')
editable: (0, _.getAttr)(str, 'editable')
};
obj = (0, _extend2.default)(true, defaultValues, obj);

Expand Down
1 change: 0 additions & 1 deletion dist/cli/helpers/file-attr.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ var Attr = function () {
* @param {String} str string to work with
* @return {void}
*/

function Attr(str) {
_classCallCheck(this, Attr);

Expand Down
12 changes: 6 additions & 6 deletions dist/cli/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.compileAbe = exports.Manager = exports.dateUnslug = exports.dateSlug = exports.saveJson = exports.checkRequired = exports.Locales = exports.Plugins = exports.Hooks = exports.save = exports.Page = exports.removeDuplicateAttr = exports.log = exports.getTemplate = exports.cli = exports.config = exports.escapeTextToRegex = exports.getEnclosingTags = exports.getAttr = exports.ifCond = exports.ifIn = exports.printConfig = exports.cleanTab = exports.folders = exports.attrAbe = exports.abeEngine = exports.listPage = exports.moduloIf = exports.className = exports.printJson = exports.notEmpty = exports.printBlock = exports.translate = exports.abeProcess = exports.Sql = exports.Create = exports.testObj = exports.math = exports.abeImport = exports.printInput = exports.fileUtils = exports.folderUtils = exports.FileParser = exports.cleanSlug = exports.slugify = exports.abeDuplicate = exports.deep_value = exports.abeCreate = exports.Util = exports.clc = exports.Handlebars = exports.fse = exports.moment = exports.fileAttr = undefined;
exports.compileAbe = exports.Page = exports.Manager = exports.dateUnslug = exports.dateSlug = exports.saveJson = exports.checkRequired = exports.Locales = exports.Plugins = exports.Hooks = exports.save = exports.removeDuplicateAttr = exports.log = exports.getTemplate = exports.cli = exports.config = exports.escapeTextToRegex = exports.getEnclosingTags = exports.getAttr = exports.ifCond = exports.ifIn = exports.printConfig = exports.cleanTab = exports.folders = exports.attrAbe = exports.abeEngine = exports.listPage = exports.moduloIf = exports.className = exports.printJson = exports.notEmpty = exports.printBlock = exports.translate = exports.abeProcess = exports.Sql = exports.Create = exports.testObj = exports.math = exports.abeImport = exports.printInput = exports.fileUtils = exports.folderUtils = exports.FileParser = exports.cleanSlug = exports.slugify = exports.abeDuplicate = exports.deep_value = exports.abeCreate = exports.Util = exports.clc = exports.Handlebars = exports.fse = exports.moment = exports.fileAttr = undefined;

var _fileAttr = require('./helpers/file-attr');

Expand Down Expand Up @@ -35,6 +35,10 @@ var _Manager = require('./models/Manager');

var _Manager2 = _interopRequireDefault(_Manager);

var _Page = require('./models/Page');

var _Page2 = _interopRequireDefault(_Page);

var _handlebars = require('handlebars');

var _handlebars2 = _interopRequireDefault(_handlebars);
Expand Down Expand Up @@ -101,10 +105,6 @@ var _abeProcess = require('./helpers/abe-process');

var _abeProcess2 = _interopRequireDefault(_abeProcess);

var _Page = require('./controllers/Page');

var _Page2 = _interopRequireDefault(_Page);

var _Save = require('./controllers/Save');

var _abeHooks = require('./helpers/abe-hooks');
Expand Down Expand Up @@ -164,7 +164,6 @@ exports.cli = _cliUtils2.default;
exports.getTemplate = _abeTemplate.getTemplate;
exports.log = _abeLogs2.default;
exports.removeDuplicateAttr = _abeRemoveDuplicateAttr2.default;
exports.Page = _Page2.default;
exports.save = _Save.save;
exports.Hooks = _abeHooks2.default;
exports.Plugins = _abePlugins2.default;
Expand All @@ -174,4 +173,5 @@ exports.saveJson = _Save.saveJson;
exports.dateSlug = _abeDate.dateSlug;
exports.dateUnslug = _abeDate.dateUnslug;
exports.Manager = _Manager2.default;
exports.Page = _Page2.default;
exports.compileAbe = _index.compileAbe;
Loading

0 comments on commit 9f68155

Please sign in to comment.