zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
76 lines (62 loc) • 2.38 kB
JavaScript
/*
Class ParserPreloader
*/
import { context } from '../context.js';
import { logHelper as log } from '../logHelper.js';
import { nodeRemover } from './nodeRemover.js';
import { Scope } from '../scopes/scope.js';
import { i18nHelper } from '../i18n/i18nHelper.js';
import { resolver } from '../resolver.js';
export const ParserPreloader = function( _parserOptions, _callback, _failCallback, _declaredRemotePageUrls, _i18n, _notRemoveGeneratedTags, _maxFolderDictionaries ) {
var parserOptions = _parserOptions;
var callback = _callback;
var failCallback = _failCallback;
var declaredRemotePageUrls = _declaredRemotePageUrls;
var i18n = _i18n;
var notRemoveGeneratedTags = _notRemoveGeneratedTags;
var maxFolderDictionaries = _maxFolderDictionaries;
var run = function(){
try {
if ( ! notRemoveGeneratedTags ){
nodeRemover.removeGeneratedNodes( parserOptions.root );
/*
attributeIndex.removeMultipleNodes(
nodeRemover.removeGeneratedNodes( parserOptions.root )
);
*/
}
var scope = new Scope(
parserOptions.dictionary,
parserOptions.dictionaryExtension,
true
);
scope.loadFolderDictionariesAsync(
maxFolderDictionaries,
window.location,
function(){
context.setFolderDictionaries( scope.folderDictionaries );
i18nHelper.loadAsyncAuto(
parserOptions.dictionary,
i18n,
function(){
resolver.loadRemotePages(
scope,
declaredRemotePageUrls,
callback,
failCallback
);
},
failCallback
);
}
);
} catch( e ){
log.fatal( 'Exiting init method of ZPT with errors: ' + e );
throw e;
}
};
var self = {
run: run
};
return self;
};