diff --git a/examples/forms/editable_elements/index.html b/examples/forms/editable_elements/index.html index 6d9f6bec..6dd8ae09 100644 --- a/examples/forms/editable_elements/index.html +++ b/examples/forms/editable_elements/index.html @@ -6,7 +6,7 @@ - + diff --git a/examples/images/image_manipulation/index.html b/examples/images/image_manipulation/index.html index 1a67a201..da1ed3a9 100644 --- a/examples/images/image_manipulation/index.html +++ b/examples/images/image_manipulation/index.html @@ -11,4 +11,4 @@ - \ No newline at end of file + diff --git a/examples/ui/symbols/index.html b/examples/ui/symbols/index.html index 555a6fa4..f9cbd035 100644 --- a/examples/ui/symbols/index.html +++ b/examples/ui/symbols/index.html @@ -6,7 +6,7 @@ - + diff --git a/index.html b/index.html index a0315c0c..3c0f2dc4 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ OxJS - A JavaScript Library for Web Applications - + diff --git a/index.js b/index.js index 9625bf32..f390037f 100644 --- a/index.js +++ b/index.js @@ -251,10 +251,13 @@ Ox.load(/^https?:\/\/(www\.)?oxjs\.org\//.test( Ox.get('readme/index/' + id + '.html' + q, function(html) { app.data.html[id] = html; if (Ox.len(app.data.html) == app.data.pages.length) { + /* navigator.onLine ? Ox.getJSON(url, function(data) { app.data.downloads = data; callback(); }) : callback(); + */ + callback() } }); }); diff --git a/package.json b/package.json new file mode 100644 index 00000000..0b8332b1 --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "@0x2620/oxjs", + "version": "1.0.0", + "main": "min/Ox/Ox.js", + "module": "min/Ox/Ox.js", + "browser": "min/Ox.js", + "type": "module", + "devDependencies": { + "@rollup/plugin-node-resolve": "^16.0.3", + "@rollup/plugin-terser": "^0.4.4", + "rollup": "^2.79.2", + "rollup-plugin-copy": "^3.5.0" + }, + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w" + }, + "files": [ + "min" + ] +} diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..b131da12 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,188 @@ +import resolve from '@rollup/plugin-node-resolve'; +import terser from '@rollup/plugin-terser'; +import copy from 'rollup-plugin-copy'; +import fs from 'fs'; +import path from 'path'; + +import { version } from './package.json'; + +function install(options = {}) { + const sourcePath = options.sourcePath || 'source/'; + const devPath = options.devPath || 'dev/'; + const minPath = options.minPath || 'min/'; + + // Helper: parse CSS with variable substitutions + function parseCss(css, values) { + return css.replace(/\$(\w+)(\[\d+\])?/g, (match, key, index) => { + let value = values[key]; + if (index) { + const idx = parseInt(index.slice(1, -1)); + value = value[idx]; + } + + if (typeof value === 'string') { + return value; + } + + // Handle numeric arrays (e.g., RGB or RGBA) + if (Array.isArray(value[0])) { + // Already nested arrays + return value + .map(vals => `rgb${vals.length === 4 ? 'a' : ''}(${vals.join(', ')})`) + .join(', '); + } else { + // Single array + return `rgb${value.length === 4 ? 'a' : ''}(${value.join(', ')})`; + } + }); + } + + function readJsonc(filePath) { + const jsoncText = fs.readFileSync(filePath, 'utf-8'); + let text = jsoncText.replace(/\/\/.*$/gm, ''); // Remove single-line comments + text = text.replace(/\/\*[\s\S]*?\*\//g, ''); // Remove multi-line comments + text = text.replace(/,\s*(?=[}\]])/g, ''); // Remove trailing commas in objects and arrays + + return JSON.parse(text); + } + + function writeFile(filePath, data) { + fs.mkdirSync(path.dirname(filePath), { recursive: true }); + fs.writeFileSync(filePath, typeof data === 'string' ? data : data.toString('utf-8')); + return data.length; + } + + function formatColor(rgb) { + return '#' + rgb.map(c => c.toString(16).padStart(2, '0').toUpperCase()).join(''); + } + + function writeBundle() { + const themesDir = path.join(sourcePath, 'UI', 'themes'); + const themes = fs.readdirSync(themesDir).filter(name => !['.', '_'].includes(name[0])); + + const themeData = {}; + for (const theme of themes) { + const themeJsonPath = path.join(themesDir, theme, 'json', 'theme.jsonc'); + themeData[theme] = readJsonc(themeJsonPath); + themeData[theme].themeClass = 'OxTheme' + theme[0].toUpperCase() + theme.slice(1); + } + + const cssPath = path.join(sourcePath, 'UI', 'css', 'theme.css'); + const css = fs.readFileSync(cssPath, 'utf-8') + + for (const theme of themes) { + let themeCss = parseCss(css, themeData[theme]); + themeCss = themeCss.replace(/\.png\)/g, `.png?${version})`); + + writeFile(path.join(devPath, 'UI', 'themes', theme, 'css', 'theme.css'), themeCss); + writeFile(path.join(minPath, 'UI', 'themes', theme, 'css', 'theme.css'), themeCss); + } + + const uiImages = {} + const svgDir = path.join(sourcePath, 'UI', 'svg'); + const svgs = fs.readdirSync(svgDir).filter(name => !['.', '_'].includes(name[0])); + for (const filename of svgs) { + const svgPath = path.join(svgDir, filename); + let svg = fs.readFileSync(svgPath, 'utf-8') + svg = svg.replace(/\n\s*/g, ''); + svg = svg.replace(//g, ''); + uiImages[filename.slice(0, -4)] = svg + if (filename.startsWith('symbolLoading')) { + for (const theme of themes) { + let themeSVG = svg.replace(/#808080/g, formatColor(themeData[theme]['symbolDefaultColor'])) + writeFile(path.join(devPath, 'UI', 'themes', theme, 'svg', filename), themeSVG); + writeFile(path.join(minPath, 'UI', 'themes', theme, 'svg', filename), themeSVG); + } + } + } + } + + return { + name: 'theme-plugin', + writeBundle + }; +} + +// TBD: get version +// TBD: add ' OxJS %s (c) %s 0x2620, dual-licensed GPL/MIT, see https://oxjs.org for details ' % (version, year) +// +/* + + // kind of inline now, but missing cache busting! + # Ox.UI CSS + css = read_text(source_path + 'UI/css/UI.css') + css = css.replace('$import', '\n'.join([ + '@import url("../themes/%s/css/theme.css?%s");' % (theme, version) for theme in themes + ])) + write_file('%sUI/css/UI.css' % dev_path, css) + write_file('%sUI/css/UI.css' % min_path, css) + + # Ox.UI SVGs + ui_images = {} + path = source_path + 'UI/svg/' + for filename in [filename for filename in os.listdir(path) if not filename[0] in '._']: + svg = read_text(path + filename) + svg = re.sub(r'\n\s*', '', svg) + svg = re.sub(r'', '', svg) + # end fix + ui_images[filename[:-4]] = svg + if filename.startswith('symbolLoading'): + for theme in themes: + theme_svg = re.sub(r'#808080', format_hex(theme_data[theme]['symbolDefaultColor']), svg) + write_file('%sUI/themes/%s/svg/%s' % (dev_path, theme, filename), theme_svg) + write_file('%sUI/themes/%s/svg/%s' % (min_path, theme, filename), theme_svg) + + write_file(min_path + 'UI/json/UI.json', json.dumps({ + 'files': sorted(ui_files['min']), + 'images': ui_images + }, sort_keys=True)) + + js = re.sub( + r'Ox.LOCALES = \{\}', + 'Ox.LOCALES = ' + json.dumps(locales, indent=4, sort_keys=True), + js + ) + js = re.sub( + r"Ox.VERSION = '([\d\.]+)'", + "Ox.VERSION = '%s'" % version, + js + ) +*/ + + +export default { + input: { + 'Ox': 'source/Ox/Ox.js', + 'UI': 'source/UI/UI.js', + 'Unicode': 'source/Unicode/Unicode.js', + 'Geo': 'source/Geo/Geo.js', + 'Image': 'source/Image/Image.js', + }, + output: { + dir: 'min', + format: 'es', + entryFileNames: '[name]/[name].js', + chunkFileNames: '[name]/[name].js', + }, + plugins: [ + resolve(), + terser(), + copy({ + targets: [ + { src: "source/Ox.js", dest: 'min/' }, + { src: "source/Ox/json/locale.*.json", dest: 'min/Ox/json' }, + { src: "source/UI/css/*.css", dest: 'min/UI/css' }, + { src: "source/UI/json/locale.*.json", dest: 'min/UI/json' }, + { src: "source/UI/json/UI.json", dest: 'min/UI/json/' }, // FIXME: this one should be genreated first + { src: "source/UI/png", dest: 'min/UI/' }, + { src: "source/UI/jquery/*.js", dest: 'min/UI/jquery' }, + { src: "source/UI/themes", dest: 'min/UI' }, + { src: "source/Unicode/json/*.json", dest: 'min/Unicode/json' }, + { src: "source/Geo/json/*.json", dest: 'min/Geo/json' }, + { src: "source/Geo/png/flags", dest: 'min/Geo/png/'} + ], + hook: 'writeBundle' + }), + install() + ] +}; diff --git a/source/Geo/Geo.js b/source/Geo/Geo.js index 5cf54ce3..5e3c59af 100644 --- a/source/Geo/Geo.js +++ b/source/Geo/Geo.js @@ -1,4 +1,5 @@ 'use strict'; +import Ox from './../Ox/js/Ox.Global.js'; Ox.load.Geo = function(options, callback) { diff --git a/source/Image/Image.js b/source/Image/Image.js index 9b905fa8..7026e2c3 100644 --- a/source/Image/Image.js +++ b/source/Image/Image.js @@ -1,4 +1,5 @@ 'use strict'; +import Ox from './../Ox/js/Ox.Global.js'; Ox.load.Image = function(options, callback) { diff --git a/source/Ox.compat.js b/source/Ox.compat.js deleted file mode 100644 index 7e809841..00000000 --- a/source/Ox.compat.js +++ /dev/null @@ -1,18 +0,0 @@ -const init = [], initLoad = []; -window.Ox = function(value) { - console.log("delay stuff until we are done") - init.push(value) -}; -window.Ox.load = function() { - initLoad.push(arguments) -}; - -(async () => { - const module = await import('./Ox/index.js'); - console.log("Ox was loaded", init); - init.forEach(value => Ox(value)) - delete init - initLoad.forEach(arguments => Ox.load.apply(null, arguments)) - delete initLoad -})(); - diff --git a/source/Ox.js b/source/Ox.js index 675fbed3..f6632517 100644 --- a/source/Ox.js +++ b/source/Ox.js @@ -1,106 +1,28 @@ 'use strict'; -(function(global) { - +(async function(global) { + const initLoad = []; global.Ox = { - - load: function() { - - var args = arguments, - callback = args[args.length - 1], - path = getPath(), - regexp = /dev\/$/, - version = +new Date(); - - if (args[0] === true && regexp.test(path)) { - path = path.replace(regexp, 'min/'); - loadScript('Ox.js', function() { - Ox.MODE = 'min'; - Ox.PATH = path; - Ox.load.apply(null, Ox.slice(args, 1)); - }); - } else { - loadJSON(function(data) { - var previousOx = global.Ox; - version = data.version; - loadScriptsSerial(data.files, function() { - Ox.LOCALES = data.locales; - Ox.VERSION = data.version; - Ox.forEach(previousOx, function(value, key) { - if (Ox.isUndefined(Ox[key])) { - Ox[key] = value; - } - }); - Ox.load.apply(null, args); - }); - }); - } - - function getPath() { - var index, regexp = /Ox\.js(\?[\d\.]+|)$/, - scripts = document.getElementsByTagName('script'), src; - for (index = scripts.length - 1; index >= 0; index--) { - src = scripts[index].src; - if (regexp.test(src)) { - return src.replace(regexp, ''); - } - } - } - - function loadJSON(callback) { - var request = new XMLHttpRequest(), - time = +new Date(); - request.open('GET', path + 'Ox/json/Ox.json?' + time, true); - request.onreadystatechange = function() { - if (request.readyState == 4) { - if (request.status == 200) { - callback(JSON.parse(request.responseText)); - } - } - }; - request.send(); - } - - function loadScript(script, callback) { - var element = document.createElement('script'), - head = document.head - || document.getElementsByTagName('head')[0] - || document.documentElement; - element.onload = element.onreadystatechange = function() { - if ( - !this.readyState - || this.readyState == 'loaded' - || this.readyState == 'complete' - ) { - callback(); - } - } - element.src = path + script + '?' + version; - element.type = 'text/javascript'; - head.appendChild(element); - } - - function loadScriptsParallel(scripts, callback) { - var i = 0, n = scripts.length; - while (scripts.length) { - loadScript(scripts.shift(), function() { - ++i == n && callback(); - }); - } - } - - function loadScriptsSerial(scripts, callback) { - loadScriptsParallel(scripts.shift(), function() { - if (scripts.length) { - loadScriptsSerial(scripts, callback); - } else { - callback(); - } - }); - } - + load: function(...args) { + initLoad.push(args) } - }; -}(this)); + function getPath() { + var index, regexp = /Ox\.js(\?[\d\.]+|)$/, + scripts = document.getElementsByTagName('script'), src; + for (index = scripts.length - 1; index >= 0; index--) { + src = scripts[index].src; + if (regexp.test(src)) { + return src.replace(regexp, ''); + } + } + } + + const module = await import('./Ox/Ox.js'); + if (Ox.MODE == 'source') { + Ox.MODE = 'dev'; + } + console.log("Ox was loaded", Ox.MODE, Ox.PATH); + initLoad.forEach((args) => global.Ox.load.apply(null, args)) +}(globalThis)); diff --git a/source/Ox/Ox.js b/source/Ox/Ox.js new file mode 100644 index 00000000..0e3eeaaf --- /dev/null +++ b/source/Ox/Ox.js @@ -0,0 +1,45 @@ +'use strict'; + +import Ox from './js/Ox.Global.js'; + +import './js/Core.js'; +import './js/Function.js'; +import './js/Polyfill.js'; +import './js/Array.js'; +import './js/String.js'; +import './js/Collection.js'; +import './js/Math.js'; + +import './js/Async.js'; +import './js/Color.js'; +import './js/Constants.js'; +import './js/Date.js'; +import './js/DOM.js'; +import './js/Encoding.js'; +import './js/Format.js'; +import './js/Geo.js'; +import './js/Hash.js'; +import './js/HTML.js'; +import './js/JavaScript.js'; +import './js/Locale.js'; +import './js/Object.js'; +import './js/RegExp.js'; +import './js/Request.js'; +import './js/Type.js'; +import './js/Video.js'; + +export default Ox; +export { Ox }; + +// For backward compatibility with global usage +if (typeof globalThis !== 'undefined') { + // FIXME: examples/ui/widget_design_patterns writes to Ox before load + if (typeof globalThis.Ox != 'undefined') { + Object.keys(globalThis.Ox).forEach(key => { + if (typeof Ox[key] == 'undefined') { + Ox[key] = globalThis.Ox[key] + } + }) + } + globalThis.Ox = Ox; +} diff --git a/source/Ox/index.js b/source/Ox/index.js deleted file mode 100644 index 0fef6944..00000000 --- a/source/Ox/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -import Ox from './js/Namespace.js'; - -import * as Ox_Core from './js/Core.js'; -import * as Ox_Function from './js/Function.js'; -import * as Ox_Polyfill from './js/Polyfill.js'; -import * as Ox_Array from './js/Array.js'; -import * as Ox_String from './js/String.js'; -import * as Ox_Collection from './js/Collection.js'; -import * as Ox_Math from './js/Math.js'; - -import * as Ox_Async from './js/Async.js'; -import * as Ox_Color from './js/Color.js'; -import * as Ox_Constants from './js/Constants.js'; -import * as Ox_Date from './js/Date.js'; -import * as Ox_DOM from './js/DOM.js'; -import * as Ox_Encoding from './js/Encoding.js'; -import * as Ox_Format from './js/Format.js'; -import * as Ox_Geo from './js/Geo.js'; -import * as Ox_Hash from './js/Hash.js'; -import * as Ox_HTML from './js/HTML.js'; -import * as Ox_JavaScript from './js/JavaScript.js'; -import * as Ox_Locale from './js/Locale.js'; -import * as Ox_Object from './js/Object.js'; -import * as Ox_RegExp from './js/RegExp.js'; -import * as Ox_Request from './js/Request.js'; -import * as Ox_Type from './js/Type.js'; -import * as Ox_Video from './js/Video.js'; - -export default Ox; -export { Ox }; - -// For backward compatibility with global usage -if (typeof globalThis !== 'undefined') { - globalThis.Ox = Ox; -} diff --git a/source/Ox/js/Array.js b/source/Ox/js/Array.js index 9610aded..c4c0bbe2 100644 --- a/source/Ox/js/Array.js +++ b/source/Ox/js/Array.js @@ -1,6 +1,6 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.api Turns an array into a list API diff --git a/source/Ox/js/Async.js b/source/Ox/js/Async.js index c5d5fff1..c818e819 100644 --- a/source/Ox/js/Async.js +++ b/source/Ox/js/Async.js @@ -1,6 +1,6 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; (function() { diff --git a/source/Ox/js/Collection.js b/source/Ox/js/Collection.js index 975ef6c6..1b695fe0 100644 --- a/source/Ox/js/Collection.js +++ b/source/Ox/js/Collection.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.avg Returns the average of an array's values, or an object's properties @@ -466,6 +466,7 @@ Ox.slice = Ox.toArray = function(collection, start, stop) { // value. Firefox 3.6 returns an array of undefined values if a string is passed // as value. if ( + typeof document !== 'undefined' && ( Ox.slice([0]).length == 0 || Ox.slice('0')[0] === null || Ox.slice('0')[0] === void 0 @@ -474,7 +475,7 @@ if ( return Ox.slice(document.getElementsByTagName('a')); } catch (error) {} }()) -) { +)) { // FIXME: remove toArray alias Ox.slice = Ox.toArray = function(collection, start, stop) { var args = stop === void 0 ? [start] : [start, stop], diff --git a/source/Ox/js/Color.js b/source/Ox/js/Color.js index 71a408c2..ba68ad40 100644 --- a/source/Ox/js/Color.js +++ b/source/Ox/js/Color.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.hsl Takes RGB values and returns HSL values diff --git a/source/Ox/js/Constants.js b/source/Ox/js/Constants.js index 64675378..22c04459 100644 --- a/source/Ox/js/Constants.js +++ b/source/Ox/js/Constants.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; //@ Ox.AMPM <[s]> ['AM', 'PM'] Ox.AMPM = ['AM', 'PM']; @@ -93,13 +93,15 @@ Ox.SHORT_MONTHS = Ox.MONTHS.map(function(val) { }); //@ Ox.PATH Path of Ox.js Ox.PATH = (function() { - // IE8 can't apply slice to NodeLists, see Ox.slice - var index, regexp = /Ox\.js(\?.+|)$/, - scripts = document.getElementsByTagName('script'), src; - for (index = scripts.length - 1; index >= 0; index--) { - src = scripts[index].src; - if (regexp.test(src)) { - return src.replace(regexp, ''); + if (typeof document !== 'undefined') { + // IE8 can't apply slice to NodeLists, see Ox.slice + var index, regexp = /Ox\.js(\?.+|)$/, + scripts = document.getElementsByTagName('script'), src; + for (index = scripts.length - 1; index >= 0; index--) { + src = scripts[index].src; + if (regexp.test(src)) { + return src.replace(regexp, ''); + } } } // FIXME: fix path detection diff --git a/source/Ox/js/Core.js b/source/Ox/js/Core.js index 0a5de2bf..6ce6ed9a 100644 --- a/source/Ox/js/Core.js +++ b/source/Ox/js/Core.js @@ -2,7 +2,7 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.load Loads OxJS and, optionally, one or more modules @@ -69,7 +69,6 @@ Ox.load = function() { callback(true); } else { let fn = Ox.noop - console.log("!!", modules) if ('UI' in modules) { fn = function(callback) { var path = Ox.PATH + 'UI/jquery/jquery-1.7.1.min.js?' + Ox.VERSION; @@ -79,7 +78,7 @@ Ox.load = function() { fn(function() { Ox.forEach(modules, async function(options, module) { console.log("load module!", module, options) - const obj = await import('../../' + module + '/index.js?' + Ox.VERSION); + const obj = await import(Ox.PATH + module + '/' + module + '.js?' + Ox.VERSION); Ox.load[module](options, function(success) { succeeded += success; if (++loaded == length) { diff --git a/source/Ox/js/DOM.js b/source/Ox/js/DOM.js index 3471ce0b..2b3cc251 100644 --- a/source/Ox/js/DOM.js +++ b/source/Ox/js/DOM.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.$ Generic HTML element, mimics jQuery @@ -829,6 +829,13 @@ Ox.documentReady Calls a callback function once the DOM is ready @*/ Ox.documentReady = (function() { var callbacks = []; + if (typeof document === 'undefined') { + return function(callback) { + callback(); + return true; + } + } + document.onreadystatechange = globalThis.onload = function() { if (document.readyState == 'complete') { callbacks.forEach(function(callback) { diff --git a/source/Ox/js/Date.js b/source/Ox/js/Date.js index fb613481..e0117861 100644 --- a/source/Ox/js/Date.js +++ b/source/Ox/js/Date.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; //@ Ox.getDate Get the day of a date, optionally UTC // see Ox.setSeconds for source code diff --git a/source/Ox/js/Encoding.js b/source/Ox/js/Encoding.js index e2641f29..8ee85553 100644 --- a/source/Ox/js/Encoding.js +++ b/source/Ox/js/Encoding.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.encodeBase26 Encode a number as bijective base26 diff --git a/source/Ox/js/Format.js b/source/Ox/js/Format.js index 7bc2105b..558732f6 100644 --- a/source/Ox/js/Format.js +++ b/source/Ox/js/Format.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.formatArea Formats a number of meters as square meters or kilometers diff --git a/source/Ox/js/Function.js b/source/Ox/js/Function.js index 3cdf865a..37d107e0 100644 --- a/source/Ox/js/Function.js +++ b/source/Ox/js/Function.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.cache Memoize a function diff --git a/source/Ox/js/Geo.js b/source/Ox/js/Geo.js index 4965d1aa..5d974bee 100644 --- a/source/Ox/js/Geo.js +++ b/source/Ox/js/Geo.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; (function() { diff --git a/source/Ox/js/HTML.js b/source/Ox/js/HTML.js index bf2793cd..21772625 100644 --- a/source/Ox/js/HTML.js +++ b/source/Ox/js/HTML.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; (function() { diff --git a/source/Ox/js/Hash.js b/source/Ox/js/Hash.js index c396c4e1..3f3dd296 100644 --- a/source/Ox/js/Hash.js +++ b/source/Ox/js/Hash.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.oshash Calculates oshash for a given file or blob object. Async. diff --git a/source/Ox/js/JavaScript.js b/source/Ox/js/JavaScript.js index 01ae582c..09adb245 100644 --- a/source/Ox/js/JavaScript.js +++ b/source/Ox/js/JavaScript.js @@ -1,5 +1,7 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; + +var globalEval = eval; /*@ Ox.doc Generates documentation for annotated JavaScript @@ -828,7 +830,7 @@ Ox.test = function(argument, callback) { ); } Ox.Log('TEST', statement); - actual = eval(statement); + actual = globalEval(statement); if (!isAsync && test.expected) { Ox.test.data[id].results.push({ actual: stringifyResult(actual), @@ -837,7 +839,7 @@ Ox.test = function(argument, callback) { section: item.section, statement: statement, passed: Ox.isEqual( - actual, eval('(' + test.expected + ')') + actual, globalEval('(' + test.expected + ')') ) }); } diff --git a/source/Ox/js/Locale.js b/source/Ox/js/Locale.js index ac87e9dc..74862155 100644 --- a/source/Ox/js/Locale.js +++ b/source/Ox/js/Locale.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; (function() { diff --git a/source/Ox/js/Math.js b/source/Ox/js/Math.js index ef347dfd..58690c12 100644 --- a/source/Ox/js/Math.js +++ b/source/Ox/js/Math.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.acosh Inverse hyperbolic cosine diff --git a/source/Ox/js/Object.js b/source/Ox/js/Object.js index 3ad8c3e4..15d41a61 100644 --- a/source/Ox/js/Object.js +++ b/source/Ox/js/Object.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.extend Extends an object with one or more other objects diff --git a/source/Ox/js/Namespace.js b/source/Ox/js/Ox.Global.js similarity index 100% rename from source/Ox/js/Namespace.js rename to source/Ox/js/Ox.Global.js diff --git a/source/Ox/js/Polyfill.js b/source/Ox/js/Polyfill.js index 4eed90a9..f2213afc 100644 --- a/source/Ox/js/Polyfill.js +++ b/source/Ox/js/Polyfill.js @@ -1,5 +1,7 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; + +var globalEval = eval; (function(window) { @@ -210,7 +212,7 @@ import Ox from './Namespace.js'; } return { parse: function parse(string) { - return eval('(' + string + ')'); + return globalEval('(' + string + ')'); }, stringify: function stringify(value) { var ret = 'null', type = Ox.typeOf(value); @@ -397,7 +399,7 @@ import Ox from './Namespace.js'; ].forEach(function(item) { var object = item[0], keys = item[1]; keys.forEach(function(key) { - if (!key in object) { + if (!(key in object)) { if (canDefineProperty) { Object.defineProperty(object, key, { configurable: true, diff --git a/source/Ox/js/RegExp.js b/source/Ox/js/RegExp.js index 24239cb1..641f9813 100644 --- a/source/Ox/js/RegExp.js +++ b/source/Ox/js/RegExp.js @@ -1,4 +1,4 @@ -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.escapeRegExp Escapes a string for use in a regular expression diff --git a/source/Ox/js/Request.js b/source/Ox/js/Request.js index e612bc86..c8355e16 100644 --- a/source/Ox/js/Request.js +++ b/source/Ox/js/Request.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.get Get a remote resource @@ -88,6 +88,10 @@ Ox.getAsync = function(urls, get, callback) { (function() { + if (typeof document == 'undefined') { + console.log("running in node, disable some things in Requets.js") + return + } var cache = {}, head = document.head || document.getElementsByTagName('head')[0] diff --git a/source/Ox/js/String.js b/source/Ox/js/String.js index b5b145e8..55016c91 100644 --- a/source/Ox/js/String.js +++ b/source/Ox/js/String.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.char Alias for String.fromCharCode diff --git a/source/Ox/js/Type.js b/source/Ox/js/Type.js index 2e99757b..251063d5 100644 --- a/source/Ox/js/Type.js +++ b/source/Ox/js/Type.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.checkType Throws a TypeError if a value is not of a given type @@ -443,11 +443,13 @@ Ox.typeOf = function(value) { // Mobile Safari returns 'DOMWindow' for null and undefined // Firefox 30+ returns 'window' for window if ( - Ox.typeOf((function() { return arguments; }())) != 'arguments' - || Ox.typeOf(document.getElementsByTagName('a')) != 'nodelist' - || Ox.typeOf(null) != 'null' - || Ox.typeOf(window) != 'global' - || Ox.typeOf() != 'undefined' + (typeof document != 'undefined') && ( + Ox.typeOf((function() { return arguments; }())) != 'arguments' + || Ox.typeOf(document.getElementsByTagName('a')) != 'nodelist' + || Ox.typeOf(null) != 'null' + || Ox.typeOf(window) != 'global' + || Ox.typeOf() != 'undefined' + ) ) { Ox.typeOf = function(value) { var type = Object.prototype.toString.call( diff --git a/source/Ox/js/Video.js b/source/Ox/js/Video.js index fc210663..f43a50c0 100644 --- a/source/Ox/js/Video.js +++ b/source/Ox/js/Video.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './Namespace.js'; +import Ox from './Ox.Global.js'; /*@ Ox.getVideoFormat Get supported video format diff --git a/source/UI/UI.js b/source/UI/UI.js index 798aad62..a5fa714d 100644 --- a/source/UI/UI.js +++ b/source/UI/UI.js @@ -1,260 +1,376 @@ 'use strict'; -Ox.load.UI = function(options, callback) { +import Ox from './../Ox/js/Ox.Global.js'; +Ox.UI = Ox.UI || {}; - options = Ox.extend({ - hideScreen: true, - loadCSS: true, - loadThemes: true, - showScreen: false, - theme: 'oxlight' - }, options); +import './js/Audio/AudioElement.js'; +import './js/Audio/AudioPlayer.js'; +import './js/Bar/Bar.js'; +import './js/Bar/Progressbar.js'; +import './js/Bar/Resizebar.js'; +import './js/Bar/Tabbar.js'; +import './js/Calendar/CalendarEditor.js'; +import './js/Calendar/Calendar.js'; +import './js/Code/DocPage.js'; +import './js/Code/DocPanel.js'; +import './js/Code/ExamplePage.js'; +import './js/Code/ExamplePanel.js'; +import './js/Code/SourceViewer.js'; +import './js/Code/SyntaxHighlighter.js'; +import './js/Core/API.js'; +import './js/Core/App.js'; +import './js/Core/Clipboard.js'; +import './js/Core/Container.js'; +import './js/Core/Cookies.js'; +import './js/Core/Element.js'; +import './js/Core/Event.js'; +import './js/Core/Focus.js'; +import './js/Core/Fullscreen.js'; +import './js/Core/GarbageCollection.js'; +import './js/Core/History.js'; +import './js/Core/LoadingIcon.js'; +import './js/Core/LoadingScreen.js'; +import './js/Core/Request.js'; +import './js/Core/Theme.js'; +import './js/Core/UI.js'; +import './js/Core/URL.js'; +import './js/Form/ArrayEditable.js'; +import './js/Form/ArrayInput.js'; +import './js/Form/ButtonGroup.js'; +import './js/Form/Button.js'; +import './js/Form/CheckboxGroup.js'; +import './js/Form/Checkbox.js'; +import './js/Form/ColorInput.js'; +import './js/Form/ColorPicker.js'; +import './js/Form/DateInput.js'; +import './js/Form/DateTimeInput.js'; +import './js/Form/EditableContent.js'; +import './js/Form/Editable.js'; +import './js/Form/FileButton.js'; +import './js/Form/FileInput.js'; +import './js/Form/Filter.js'; +import './js/Form/FormElementGroup.js'; +import './js/Form/FormItem.js'; +import './js/Form/Form.js'; +import './js/Form/FormPanel.js'; +import './js/Form/InputGroup.js'; +import './js/Form/Input.js'; +import './js/Form/InsertHTMLDialog.js'; +import './js/Form/Label.js'; +import './js/Form/ObjectArrayInput.js'; +import './js/Form/ObjectInput.js'; +import './js/Form/OptionGroup.js'; +import './js/Form/Picker.js'; +import './js/Form/PlaceInput.js'; +import './js/Form/PlacePicker.js'; +import './js/Form/Range.js'; +import './js/Form/SelectInput.js'; +import './js/Form/Select.js'; +import './js/Form/Spreadsheet.js'; +import './js/Form/TimeInput.js'; +import './js/Image/ImageElement.js'; +import './js/Image/ImageViewer.js'; +import './js/List/Chart.js'; +import './js/List/ColumnList.js'; +import './js/List/CustomList.js'; +import './js/List/IconItem.js'; +import './js/List/IconList.js'; +import './js/List/InfoList.js'; +import './js/List/ListItem.js'; +import './js/List/List.js'; +import './js/List/SortList.js'; +import './js/List/TableList.js'; +import './js/List/TreeList.js'; +import './js/Map/MapEditor.js'; +import './js/Map/MapImage.js'; +import './js/Map/Map.js'; +import './js/Map/MapMarkerImage.js'; +import './js/Map/MapMarker.js'; +import './js/Map/MapPlace.js'; +import './js/Map/MapRectangle.js'; +import './js/Map/MapRectangleMarker.js'; +import './js/Menu/MainMenu.js'; +import './js/Menu/MenuButton.js'; +import './js/Menu/MenuItem.js'; +import './js/Menu/Menu.js'; +import './js/Panel/CollapsePanel.js'; +import './js/Panel/SlidePanel.js'; +import './js/Panel/SplitPanel.js'; +import './js/Panel/TabPanel.js'; +import './js/Video/AnnotationFolder.js'; +import './js/Video/AnnotationPanel.js'; +import './js/Video/BlockVideoTimeline.js'; +import './js/Video/ClipPanel.js'; +import './js/Video/LargeVideoTimeline.js'; +import './js/Video/SmallVideoTimelineImage.js'; +import './js/Video/SmallVideoTimeline.js'; +import './js/Video/VideoAnnotationPanel.js'; +import './js/Video/VideoEditPanel.js'; +import './js/Video/VideoElement.js'; +import './js/Video/VideoPlayer.js'; +import './js/Video/VideoPlayerMenu.js'; +import './js/Video/VideoPlayerPanel.js'; +import './js/Video/VideoPreview.js'; +import './js/Video/VideoTimelinePanel.js'; +import './js/Video/VideoTimelinePlayer.js'; +import './js/Video/YouTubeElement.js'; +import './js/Window/Dialog.js'; +import './js/Window/Layer.js'; +import './js/Window/SortDialog.js'; +import './js/Window/Tooltip.js'; - var browsers = [ - { - name: 'Chrome Frame', - url: 'http://www.google.com/chromeframe/' - }, - { - name: 'Chrome', - regexp: /Chrome\/(\d+)\./, - url: 'http://www.google.com/chrome/', - version: 10 - }, - { - name: 'Firefox', - regexp: /Firefox\/(\d+)\./, - url: 'http://www.mozilla.org/firefox/', - version: 4 - }, - { - name: 'Safari', - regexp: /Version\/(\d+).*? Safari/, - url: 'http://www.apple.com/safari/', - version: 5 - }, - { - name: 'WebKit', - regexp: /AppleWebKit\/(\d+)\./, - version: 534 - }, - { - name: 'Googlebot', - regexp: /Googlebot\/(\d+)\./, - version: 2 - }, - { - name: 'YandexBot', - regexp: /YandexBot\/(\d+)\./, - version: 3 - }, - { - name: 'YandexMobileBot', - regexp: /YandexMobileBot\/(\d+)\./, - version: 3 - }, - { - name: 'Internet Explorer', - url: 'http://windows.microsoft.com/en-US/internet-explorer/products/ie/home', - version: 9 +export const UI = Ox.UI; +export default UI; + +if (typeof globalThis !== 'undefined') { + Ox.load.UI = function(options, callback) { + options = Ox.extend({ + hideScreen: true, + loadCSS: true, + loadThemes: true, + showScreen: false, + theme: 'oxlight' + }, options); + + var browsers = [ + { + name: 'Chrome Frame', + url: 'http://www.google.com/chromeframe/' + }, + { + name: 'Chrome', + regexp: /Chrome\/(\d+)\./, + url: 'http://www.google.com/chrome/', + version: 10 + }, + { + name: 'Firefox', + regexp: /Firefox\/(\d+)\./, + url: 'http://www.mozilla.org/firefox/', + version: 4 + }, + { + name: 'Safari', + regexp: /Version\/(\d+).*? Safari/, + url: 'http://www.apple.com/safari/', + version: 5 + }, + { + name: 'WebKit', + regexp: /AppleWebKit\/(\d+)\./, + version: 534 + }, + { + name: 'Googlebot', + regexp: /Googlebot\/(\d+)\./, + version: 2 + }, + { + name: 'YandexBot', + regexp: /YandexBot\/(\d+)\./, + version: 3 + }, + { + name: 'YandexMobileBot', + regexp: /YandexMobileBot\/(\d+)\./, + version: 3 + }, + { + name: 'Internet Explorer', + url: 'http://windows.microsoft.com/en-US/internet-explorer/products/ie/home', + version: 9 + } + ], + browserSupported = false, + isInternetExplorer = /MSIE/.test(navigator.userAgent); + + browsers.forEach(function(browser) { + var match = browser.regexp && browser.regexp.exec(navigator.userAgent); + if (match && match[1] >= browser.version) { + browserSupported = true; } - ], - browserSupported = false, - isInternetExplorer = /MSIE/.test(navigator.userAgent); + }); - browsers.forEach(function(browser) { - var match = browser.regexp && browser.regexp.exec(navigator.userAgent); - if (match && match[1] >= browser.version) { - browserSupported = true; - } - }); + Ox.UI.LoadingScreen = (function() { - console.log("this happens?") - - Ox.UI = Ox.UI || {}; - - Ox.UI.LoadingScreen = (function() { - - var $body = Ox.$('body'), - $screen = Ox.$('
') - .addClass('OxLoadingScreen') - .css({ + var $body = Ox.$('body'), + $screen = Ox.$('
') + .addClass('OxLoadingScreen') + .css({ + position: 'absolute', + left: 0, + top: 0, + right: 0, + bottom: 0, + padding: '4px', + background: 'rgb(' + ( + options.theme == 'oxlight' ? '240, 240, 240' + : options.theme == 'oxmedium' ? '144, 144, 144' + : '16, 16, 16' + ) + ')', + opacity: 1, + zIndex: 1000 + }), + css = { position: 'absolute', left: 0, top: 0, right: 0, bottom: 0, - padding: '4px', - background: 'rgb(' + ( - options.theme == 'oxlight' ? '240, 240, 240' - : options.theme == 'oxmedium' ? '144, 144, 144' - : '16, 16, 16' - ) + ')', - opacity: 1, - zIndex: 1000 - }), - css = { - position: 'absolute', - left: 0, - top: 0, - right: 0, - bottom: 0, - margin: 'auto', - MozUserSelect: 'none', - WebkitUserSelect: 'none' - }, - loadingInterval, - $icon, - deg = 0; + margin: 'auto', + MozUserSelect: 'none', + WebkitUserSelect: 'none' + }, + loadingInterval, + $icon, + deg = 0; - browserSupported ? showIcon() : showWarning(); + browserSupported ? showIcon() : showWarning(); - function showIcon() { - /* - // SVG transform performs worse than CSS transform - var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoadingAnimated.svg' - Ox.getFile(src, function() { - Ox.$('') - .attr({ - src: src - }) - .css(Ox.extend({ - width: '32px', - height: '32px' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault(); - } - }) - .appendTo(div); - }); - */ - var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoading.svg' - Ox.getFile(src, function() { - $icon = Ox.$('') - .attr({ - src: src - }) - .css(Ox.extend({ - width: '32px', - height: '32px' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault() - } - }) - .appendTo($screen); - }); - } - - function showWarning() { - var counter = 0; - browsers = browsers.filter(function(browser) { - return browser.url; - }); - isInternetExplorer ? browsers.pop() : browsers.shift(); - browsers.forEach(function(browser) { - browser.src = Ox.PATH + 'UI/png/browser' + browser.name.replace(' ', '') + '128.png'; - Ox.getFile(browser.src, function() { - ++counter == browsers.length && showIcons(); - }); - }); - function showIcons() { - var $box = Ox.$('
') - .css(Ox.extend({ - width: (browsers.length * 72) + 'px', - height: '72px' - }, css)) - .appendTo($screen); - browsers.forEach(function(browser, i) { - Ox.$('') + function showIcon() { + /* + // SVG transform performs worse than CSS transform + var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoadingAnimated.svg' + Ox.getFile(src, function() { + Ox.$('') .attr({ - href: browser.url, - title: ( - browser.name == 'Chrome Frame' - ? Ox._('Install') : Ox._('Download') - ) + ' ' + browser.name + src: src }) - .css({ - position: 'absolute', - left: (i * 72) + 'px', - width: '72px', - height: '72px' + .css(Ox.extend({ + width: '32px', + height: '32px' + }, css)) + .on({ + mousedown: function(e) { + e.preventDefault(); + } }) - .append( - Ox.$('') - .attr({ - src: browser.src - }) - .css(Ox.extend({ - width: '64px', - height: '64px', - border: 0, - cursor: 'pointer' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault(); - } - }) - ) - .appendTo($box); + .appendTo(div); + }); + */ + //var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoading.svg' + var src = Ox.PATH + '../dev/UI/themes/' + options.theme + '/svg/symbolLoading.svg' + Ox.getFile(src, function() { + $icon = Ox.$('') + .attr({ + src: src + }) + .css(Ox.extend({ + width: '32px', + height: '32px' + }, css)) + .on({ + mousedown: function(e) { + e.preventDefault() + } + }) + .appendTo($screen); }); } - } - return { - hide: function() { - $('.OxLoadingScreen').animate({ - opacity: browserSupported ? 0 : 0.9 - }, 1000, function() { - if (browserSupported) { - clearInterval(loadingInterval); - loadingInterval = null; - $screen.remove(); - } else { - $screen.on({ - click: function() { - $screen.remove(); - } - }); - } + function showWarning() { + var counter = 0; + browsers = browsers.filter(function(browser) { + return browser.url; }); - }, - show: function() { - if (!loadingInterval) { - loadingInterval = setInterval(function() { - if ($icon) { - deg = (deg + 30) % 360; - $icon.css({ - MozTransform: 'rotate(' + deg + 'deg)', - OTransform: 'rotate(' + deg + 'deg)', - WebkitTransform: 'rotate(' + deg + 'deg)', - transform: 'rotate(' + deg + 'deg)' + isInternetExplorer ? browsers.pop() : browsers.shift(); + browsers.forEach(function(browser) { + browser.src = Ox.PATH + 'UI/png/browser' + browser.name.replace(' ', '') + '128.png'; + Ox.getFile(browser.src, function() { + ++counter == browsers.length && showIcons(); + }); + }); + function showIcons() { + var $box = Ox.$('
') + .css(Ox.extend({ + width: (browsers.length * 72) + 'px', + height: '72px' + }, css)) + .appendTo($screen); + browsers.forEach(function(browser, i) { + Ox.$('') + .attr({ + href: browser.url, + title: ( + browser.name == 'Chrome Frame' + ? Ox._('Install') : Ox._('Download') + ) + ' ' + browser.name + }) + .css({ + position: 'absolute', + left: (i * 72) + 'px', + width: '72px', + height: '72px' + }) + .append( + Ox.$('') + .attr({ + src: browser.src + }) + .css(Ox.extend({ + width: '64px', + height: '64px', + border: 0, + cursor: 'pointer' + }, css)) + .on({ + mousedown: function(e) { + e.preventDefault(); + } + }) + ) + .appendTo($box); + }); + } + } + + return { + hide: function() { + $('.OxLoadingScreen').animate({ + opacity: browserSupported ? 0 : 0.9 + }, 1000, function() { + if (browserSupported) { + clearInterval(loadingInterval); + loadingInterval = null; + $screen.remove(); + } else { + $screen.on({ + click: function() { + $screen.remove(); + } }); } - }, 83); + }); + }, + show: function() { + if (!loadingInterval) { + loadingInterval = setInterval(function() { + if ($icon) { + deg = (deg + 30) % 360; + $icon.css({ + MozTransform: 'rotate(' + deg + 'deg)', + OTransform: 'rotate(' + deg + 'deg)', + WebkitTransform: 'rotate(' + deg + 'deg)', + transform: 'rotate(' + deg + 'deg)' + }); + } + }, 83); + } + $screen.appendTo($body); } - $screen.appendTo($body); - } - }; + }; - }()); + }()); - Ox.documentReady(function() { - Ox.$('body').addClass('OxTheme' + Ox.toTitleCase(options.theme)); - options.showScreen && Ox.UI.LoadingScreen.show(); - }); + Ox.documentReady(function() { + Ox.$('body').addClass('OxTheme' + Ox.toTitleCase(options.theme)); + options.showScreen && Ox.UI.LoadingScreen.show(); + }); - loadUI(); + loadUI(); - function loadUI() { - - var path = Ox.PATH + 'UI/jquery/jquery.js?' + Ox.VERSION; - Ox.getFile(path, function() { - path = Ox.PATH + 'UI/json/UI.json?' + Ox.VERSION; + function loadUI() { + let path = Ox.PATH + 'UI/json/UI.json?' + Ox.VERSION; Ox.getJSON(path, function(data) { var counter = 0, length; if (!options.loadCSS) { @@ -285,23 +401,22 @@ Ox.load.UI = function(options, callback) { } }); }); - }); + } - } + function initUI() { - function initUI() { - - Ox.documentReady(function() { - // fixme: is this the right place to do this? - $.browser.mozilla && Ox.$document.on('dragstart', function() { - return false; + Ox.documentReady(function() { + // fixme: is this the right place to do this? + $.browser.mozilla && Ox.$document.on('dragstart', function() { + return false; + }); + if (options.showScreen && options.hideScreen) { + Ox.UI.LoadingScreen.hide(); + } + callback(browserSupported); }); - if (options.showScreen && options.hideScreen) { - Ox.UI.LoadingScreen.hide(); - } - callback(browserSupported); - }); - } + } -}; + }; +} diff --git a/source/UI/css/UI.css b/source/UI/css/UI.css index 2b29ba4e..902a1ca4 100644 --- a/source/UI/css/UI.css +++ b/source/UI/css/UI.css @@ -1,4 +1,7 @@ -$import +@import url("../themes/aqua/css/theme.css"); +@import url("../themes/oxdark/css/theme.css"); +@import url("../themes/oxlight/css/theme.css"); +@import url("../themes/oxmedium/css/theme.css"); /* ================================================================================ diff --git a/source/UI/index.js b/source/UI/index.js deleted file mode 100644 index 48b6fa3d..00000000 --- a/source/UI/index.js +++ /dev/null @@ -1,423 +0,0 @@ -'use strict'; - -import Ox from './../Ox/js/Namespace.js'; -Ox.UI = Ox.UI || {}; - -import * as AudioAudioElement from './js/Audio/AudioElement.js'; -import * as AudioAudioPlayer from './js/Audio/AudioPlayer.js'; -import * as BarBar from './js/Bar/Bar.js'; -import * as BarProgressbar from './js/Bar/Progressbar.js'; -import * as BarResizebar from './js/Bar/Resizebar.js'; -import * as BarTabbar from './js/Bar/Tabbar.js'; -import * as CalendarCalendarEditor from './js/Calendar/CalendarEditor.js'; -import * as CalendarCalendar from './js/Calendar/Calendar.js'; -import * as CodeDocPage from './js/Code/DocPage.js'; -import * as CodeDocPanel from './js/Code/DocPanel.js'; -import * as CodeExamplePage from './js/Code/ExamplePage.js'; -import * as CodeExamplePanel from './js/Code/ExamplePanel.js'; -import * as CodeSourceViewer from './js/Code/SourceViewer.js'; -import * as CodeSyntaxHighlighter from './js/Code/SyntaxHighlighter.js'; -import * as CoreAPI from './js/Core/API.js'; -import * as CoreApp from './js/Core/App.js'; -import * as CoreClipboard from './js/Core/Clipboard.js'; -import * as CoreContainer from './js/Core/Container.js'; -import * as CoreCookies from './js/Core/Cookies.js'; -import * as CoreElement from './js/Core/Element.js'; -import * as CoreEvent from './js/Core/Event.js'; -import * as CoreFocus from './js/Core/Focus.js'; -import * as CoreFullscreen from './js/Core/Fullscreen.js'; -import * as CoreGarbageCollection from './js/Core/GarbageCollection.js'; -import * as CoreHistory from './js/Core/History.js'; -import * as CoreLoadingIcon from './js/Core/LoadingIcon.js'; -import * as CoreLoadingScreen from './js/Core/LoadingScreen.js'; -import * as CoreRequest from './js/Core/Request.js'; -import * as CoreTheme from './js/Core/Theme.js'; -import * as CoreUI from './js/Core/UI.js'; -import * as CoreURL from './js/Core/URL.js'; -import * as FormArrayEditable from './js/Form/ArrayEditable.js'; -import * as FormArrayInput from './js/Form/ArrayInput.js'; -import * as FormButtonGroup from './js/Form/ButtonGroup.js'; -import * as FormButton from './js/Form/Button.js'; -import * as FormCheckboxGroup from './js/Form/CheckboxGroup.js'; -import * as FormCheckbox from './js/Form/Checkbox.js'; -import * as FormColorInput from './js/Form/ColorInput.js'; -import * as FormColorPicker from './js/Form/ColorPicker.js'; -import * as FormDateInput from './js/Form/DateInput.js'; -import * as FormDateTimeInput from './js/Form/DateTimeInput.js'; -import * as FormEditableContent from './js/Form/EditableContent.js'; -import * as FormEditable from './js/Form/Editable.js'; -import * as FormFileButton from './js/Form/FileButton.js'; -import * as FormFileInput from './js/Form/FileInput.js'; -import * as FormFilter from './js/Form/Filter.js'; -import * as FormFormElementGroup from './js/Form/FormElementGroup.js'; -import * as FormFormItem from './js/Form/FormItem.js'; -import * as FormForm from './js/Form/Form.js'; -import * as FormFormPanel from './js/Form/FormPanel.js'; -import * as FormInputGroup from './js/Form/InputGroup.js'; -import * as FormInput from './js/Form/Input.js'; -import * as FormInsertHTMLDialog from './js/Form/InsertHTMLDialog.js'; -import * as FormLabel from './js/Form/Label.js'; -import * as FormObjectArrayInput from './js/Form/ObjectArrayInput.js'; -import * as FormObjectInput from './js/Form/ObjectInput.js'; -import * as FormOptionGroup from './js/Form/OptionGroup.js'; -import * as FormPicker from './js/Form/Picker.js'; -import * as FormPlaceInput from './js/Form/PlaceInput.js'; -import * as FormPlacePicker from './js/Form/PlacePicker.js'; -import * as FormRange from './js/Form/Range.js'; -import * as FormSelectInput from './js/Form/SelectInput.js'; -import * as FormSelect from './js/Form/Select.js'; -import * as FormSpreadsheet from './js/Form/Spreadsheet.js'; -import * as FormTimeInput from './js/Form/TimeInput.js'; -import * as ImageImageElement from './js/Image/ImageElement.js'; -import * as ImageImageViewer from './js/Image/ImageViewer.js'; -import * as ListChart from './js/List/Chart.js'; -import * as ListColumnList from './js/List/ColumnList.js'; -import * as ListCustomList from './js/List/CustomList.js'; -import * as ListIconItem from './js/List/IconItem.js'; -import * as ListIconList from './js/List/IconList.js'; -import * as ListInfoList from './js/List/InfoList.js'; -import * as ListListItem from './js/List/ListItem.js'; -import * as ListList from './js/List/List.js'; -import * as ListSortList from './js/List/SortList.js'; -import * as ListTableList from './js/List/TableList.js'; -import * as ListTreeList from './js/List/TreeList.js'; -import * as MapMapEditor from './js/Map/MapEditor.js'; -import * as MapMapImage from './js/Map/MapImage.js'; -import * as MapMap from './js/Map/Map.js'; -import * as MapMapMarkerImage from './js/Map/MapMarkerImage.js'; -import * as MapMapMarker from './js/Map/MapMarker.js'; -import * as MapMapPlace from './js/Map/MapPlace.js'; -import * as MapMapRectangle from './js/Map/MapRectangle.js'; -import * as MapMapRectangleMarker from './js/Map/MapRectangleMarker.js'; -import * as MenuMainMenu from './js/Menu/MainMenu.js'; -import * as MenuMenuButton from './js/Menu/MenuButton.js'; -import * as MenuMenuItem from './js/Menu/MenuItem.js'; -import * as MenuMenu from './js/Menu/Menu.js'; -import * as PanelCollapsePanel from './js/Panel/CollapsePanel.js'; -import * as PanelSlidePanel from './js/Panel/SlidePanel.js'; -import * as PanelSplitPanel from './js/Panel/SplitPanel.js'; -import * as PanelTabPanel from './js/Panel/TabPanel.js'; -import * as VideoAnnotationFolder from './js/Video/AnnotationFolder.js'; -import * as VideoAnnotationPanel from './js/Video/AnnotationPanel.js'; -import * as VideoBlockVideoTimeline from './js/Video/BlockVideoTimeline.js'; -import * as VideoClipPanel from './js/Video/ClipPanel.js'; -import * as VideoLargeVideoTimeline from './js/Video/LargeVideoTimeline.js'; -import * as VideoSmallVideoTimelineImage from './js/Video/SmallVideoTimelineImage.js'; -import * as VideoSmallVideoTimeline from './js/Video/SmallVideoTimeline.js'; -import * as VideoVideoAnnotationPanel from './js/Video/VideoAnnotationPanel.js'; -import * as VideoVideoEditPanel from './js/Video/VideoEditPanel.js'; -import * as VideoVideoElement from './js/Video/VideoElement.js'; -import * as VideoVideoPlayer from './js/Video/VideoPlayer.js'; -import * as VideoVideoPlayerMenu from './js/Video/VideoPlayerMenu.js'; -import * as VideoVideoPlayerPanel from './js/Video/VideoPlayerPanel.js'; -import * as VideoVideoPreview from './js/Video/VideoPreview.js'; -import * as VideoVideoTimelinePanel from './js/Video/VideoTimelinePanel.js'; -import * as VideoVideoTimelinePlayer from './js/Video/VideoTimelinePlayer.js'; -import * as VideoYouTubeElement from './js/Video/YouTubeElement.js'; -import * as WindowDialog from './js/Window/Dialog.js'; -import * as WindowLayer from './js/Window/Layer.js'; -import * as WindowSortDialog from './js/Window/SortDialog.js'; -import * as WindowTooltip from './js/Window/Tooltip.js'; - - - -export const UI = Ox.UI; -export default UI; - -if (typeof globalThis !== 'undefined') { - Ox.load.UI = function(options, callback) { - options = Ox.extend({ - hideScreen: true, - loadCSS: true, - loadThemes: true, - showScreen: false, - theme: 'oxlight' - }, options); - - var browsers = [ - { - name: 'Chrome Frame', - url: 'http://www.google.com/chromeframe/' - }, - { - name: 'Chrome', - regexp: /Chrome\/(\d+)\./, - url: 'http://www.google.com/chrome/', - version: 10 - }, - { - name: 'Firefox', - regexp: /Firefox\/(\d+)\./, - url: 'http://www.mozilla.org/firefox/', - version: 4 - }, - { - name: 'Safari', - regexp: /Version\/(\d+).*? Safari/, - url: 'http://www.apple.com/safari/', - version: 5 - }, - { - name: 'WebKit', - regexp: /AppleWebKit\/(\d+)\./, - version: 534 - }, - { - name: 'Googlebot', - regexp: /Googlebot\/(\d+)\./, - version: 2 - }, - { - name: 'YandexBot', - regexp: /YandexBot\/(\d+)\./, - version: 3 - }, - { - name: 'YandexMobileBot', - regexp: /YandexMobileBot\/(\d+)\./, - version: 3 - }, - { - name: 'Internet Explorer', - url: 'http://windows.microsoft.com/en-US/internet-explorer/products/ie/home', - version: 9 - } - ], - browserSupported = false, - isInternetExplorer = /MSIE/.test(navigator.userAgent); - - browsers.forEach(function(browser) { - var match = browser.regexp && browser.regexp.exec(navigator.userAgent); - if (match && match[1] >= browser.version) { - browserSupported = true; - } - }); - - Ox.UI.LoadingScreen = (function() { - - var $body = Ox.$('body'), - $screen = Ox.$('
') - .addClass('OxLoadingScreen') - .css({ - position: 'absolute', - left: 0, - top: 0, - right: 0, - bottom: 0, - padding: '4px', - background: 'rgb(' + ( - options.theme == 'oxlight' ? '240, 240, 240' - : options.theme == 'oxmedium' ? '144, 144, 144' - : '16, 16, 16' - ) + ')', - opacity: 1, - zIndex: 1000 - }), - css = { - position: 'absolute', - left: 0, - top: 0, - right: 0, - bottom: 0, - margin: 'auto', - MozUserSelect: 'none', - WebkitUserSelect: 'none' - }, - loadingInterval, - $icon, - deg = 0; - - browserSupported ? showIcon() : showWarning(); - - function showIcon() { - /* - // SVG transform performs worse than CSS transform - var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoadingAnimated.svg' - Ox.getFile(src, function() { - Ox.$('') - .attr({ - src: src - }) - .css(Ox.extend({ - width: '32px', - height: '32px' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault(); - } - }) - .appendTo(div); - }); - */ - var src = Ox.PATH + 'UI/themes/' + options.theme + '/svg/symbolLoading.svg' - Ox.getFile(src, function() { - $icon = Ox.$('') - .attr({ - src: src - }) - .css(Ox.extend({ - width: '32px', - height: '32px' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault() - } - }) - .appendTo($screen); - }); - } - - function showWarning() { - var counter = 0; - browsers = browsers.filter(function(browser) { - return browser.url; - }); - isInternetExplorer ? browsers.pop() : browsers.shift(); - browsers.forEach(function(browser) { - browser.src = Ox.PATH + 'UI/png/browser' + browser.name.replace(' ', '') + '128.png'; - Ox.getFile(browser.src, function() { - ++counter == browsers.length && showIcons(); - }); - }); - function showIcons() { - var $box = Ox.$('
') - .css(Ox.extend({ - width: (browsers.length * 72) + 'px', - height: '72px' - }, css)) - .appendTo($screen); - browsers.forEach(function(browser, i) { - Ox.$('') - .attr({ - href: browser.url, - title: ( - browser.name == 'Chrome Frame' - ? Ox._('Install') : Ox._('Download') - ) + ' ' + browser.name - }) - .css({ - position: 'absolute', - left: (i * 72) + 'px', - width: '72px', - height: '72px' - }) - .append( - Ox.$('') - .attr({ - src: browser.src - }) - .css(Ox.extend({ - width: '64px', - height: '64px', - border: 0, - cursor: 'pointer' - }, css)) - .on({ - mousedown: function(e) { - e.preventDefault(); - } - }) - ) - .appendTo($box); - }); - } - } - - return { - hide: function() { - $('.OxLoadingScreen').animate({ - opacity: browserSupported ? 0 : 0.9 - }, 1000, function() { - if (browserSupported) { - clearInterval(loadingInterval); - loadingInterval = null; - $screen.remove(); - } else { - $screen.on({ - click: function() { - $screen.remove(); - } - }); - } - }); - }, - show: function() { - if (!loadingInterval) { - loadingInterval = setInterval(function() { - if ($icon) { - deg = (deg + 30) % 360; - $icon.css({ - MozTransform: 'rotate(' + deg + 'deg)', - OTransform: 'rotate(' + deg + 'deg)', - WebkitTransform: 'rotate(' + deg + 'deg)', - transform: 'rotate(' + deg + 'deg)' - }); - } - }, 83); - } - $screen.appendTo($body); - } - }; - - }()); - - Ox.documentReady(function() { - Ox.$('body').addClass('OxTheme' + Ox.toTitleCase(options.theme)); - options.showScreen && Ox.UI.LoadingScreen.show(); - }); - - loadUI(); - - function loadUI() { - let path = Ox.PATH + 'UI/json/UI.json?' + Ox.VERSION; - Ox.getJSON(path, function(data) { - var counter = 0, length; - if (!options.loadCSS) { - data.files = data.files.filter(function(file) { - return !Ox.endsWith(file, '.css'); - }); - } - if (!options.loadThemes) { - data.files = data.files.filter(function(file) { - return !Ox.contains(file, '/themes/'); - }); - } - length = data.files.length; - Ox.UI.IMAGES = data.images; - Ox.UI.THEMES = {}; - data.files.forEach(function(file) { - path = Ox.PATH + file + '?' + Ox.VERSION; - if (/\.jsonc$/.test(file)) { - Ox.getJSONC(path, function(data) { - var theme = /\/themes\/(\w+)\/json\//.exec(file)[1]; - Ox.UI.THEMES[theme] = data; - ++counter == length && initUI(); - }); - } else { - Ox.getFile(path, function() { - ++counter == length && initUI(); - }); - } - }); - }); - } - - function initUI() { - - Ox.documentReady(function() { - // fixme: is this the right place to do this? - $.browser.mozilla && Ox.$document.on('dragstart', function() { - return false; - }); - if (options.showScreen && options.hideScreen) { - Ox.UI.LoadingScreen.hide(); - } - callback(browserSupported); - }); - - } - - }; -} diff --git a/source/UI/js/Audio/AudioElement.js b/source/UI/js/Audio/AudioElement.js index 02fce00d..07608853 100644 --- a/source/UI/js/Audio/AudioElement.js +++ b/source/UI/js/Audio/AudioElement.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.AudioElement AudioElement Object diff --git a/source/UI/js/Audio/AudioPlayer.js b/source/UI/js/Audio/AudioPlayer.js index c6aa9097..51bf9f9f 100644 --- a/source/UI/js/Audio/AudioPlayer.js +++ b/source/UI/js/Audio/AudioPlayer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.AudioPlayer Generic Audio Player diff --git a/source/UI/js/Bar/Bar.js b/source/UI/js/Bar/Bar.js index cba9c9e7..fc62f9b7 100644 --- a/source/UI/js/Bar/Bar.js +++ b/source/UI/js/Bar/Bar.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Bar Bar diff --git a/source/UI/js/Bar/Progressbar.js b/source/UI/js/Bar/Progressbar.js index 6cfc1013..7f8eb8ff 100644 --- a/source/UI/js/Bar/Progressbar.js +++ b/source/UI/js/Bar/Progressbar.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Progressbar Progress Bar diff --git a/source/UI/js/Bar/Resizebar.js b/source/UI/js/Bar/Resizebar.js index 71ca6a37..c65c5a50 100644 --- a/source/UI/js/Bar/Resizebar.js +++ b/source/UI/js/Bar/Resizebar.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Resizebar Resizebar options Options object diff --git a/source/UI/js/Bar/Tabbar.js b/source/UI/js/Bar/Tabbar.js index 854e9689..04b22f90 100644 --- a/source/UI/js/Bar/Tabbar.js +++ b/source/UI/js/Bar/Tabbar.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Tabbar Tabbar options Options object diff --git a/source/UI/js/Calendar/Calendar.js b/source/UI/js/Calendar/Calendar.js index 862a4178..3d3961e5 100644 --- a/source/UI/js/Calendar/Calendar.js +++ b/source/UI/js/Calendar/Calendar.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Calendar Basic calendar object diff --git a/source/UI/js/Calendar/CalendarEditor.js b/source/UI/js/Calendar/CalendarEditor.js index 1502263a..7fa9dece 100644 --- a/source/UI/js/Calendar/CalendarEditor.js +++ b/source/UI/js/Calendar/CalendarEditor.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.CalendarEditor Calendar Editor diff --git a/source/UI/js/Code/DocPage.js b/source/UI/js/Code/DocPage.js index 74740028..2d27631c 100644 --- a/source/UI/js/Code/DocPage.js +++ b/source/UI/js/Code/DocPage.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.DocPage DocPage diff --git a/source/UI/js/Code/DocPanel.js b/source/UI/js/Code/DocPanel.js index fcf94313..95fc1f5b 100644 --- a/source/UI/js/Code/DocPanel.js +++ b/source/UI/js/Code/DocPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.DocPanel Documentation Panel diff --git a/source/UI/js/Code/ExamplePage.js b/source/UI/js/Code/ExamplePage.js index 6e2c1946..ac0dc84a 100644 --- a/source/UI/js/Code/ExamplePage.js +++ b/source/UI/js/Code/ExamplePage.js @@ -1,5 +1,5 @@ 'use strict' -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ExamplePage Example Page diff --git a/source/UI/js/Code/ExamplePanel.js b/source/UI/js/Code/ExamplePanel.js index dd7cb80c..0ecceee6 100644 --- a/source/UI/js/Code/ExamplePanel.js +++ b/source/UI/js/Code/ExamplePanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ExamplePanel Example Panel diff --git a/source/UI/js/Code/SourceViewer.js b/source/UI/js/Code/SourceViewer.js index 987f7ac7..d7043edc 100644 --- a/source/UI/js/Code/SourceViewer.js +++ b/source/UI/js/Code/SourceViewer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SourceViewer Source Viewer diff --git a/source/UI/js/Code/SyntaxHighlighter.js b/source/UI/js/Code/SyntaxHighlighter.js index 80fa707a..c463e56c 100644 --- a/source/UI/js/Code/SyntaxHighlighter.js +++ b/source/UI/js/Code/SyntaxHighlighter.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SyntaxHighlighter Syntax Highlighter diff --git a/source/UI/js/Core/API.js b/source/UI/js/Core/API.js index 520c5d32..39fd7089 100644 --- a/source/UI/js/Core/API.js +++ b/source/UI/js/Core/API.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.API Remote API controller diff --git a/source/UI/js/Core/App.js b/source/UI/js/Core/App.js index c5ab0255..9814cadf 100644 --- a/source/UI/js/Core/App.js +++ b/source/UI/js/Core/App.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.App Basic application instance that communicates with a JSON API diff --git a/source/UI/js/Core/Clipboard.js b/source/UI/js/Core/Clipboard.js index ae460cd8..16771a1b 100644 --- a/source/UI/js/Core/Clipboard.js +++ b/source/UI/js/Core/Clipboard.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Clipboard Basic clipboard handler diff --git a/source/UI/js/Core/Container.js b/source/UI/js/Core/Container.js index 29654fc2..8cdaf071 100644 --- a/source/UI/js/Core/Container.js +++ b/source/UI/js/Core/Container.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; // fixme: wouldn't it be better to let the elements be, // rather then $element, $content, and potentially others, diff --git a/source/UI/js/Core/Cookies.js b/source/UI/js/Core/Cookies.js index faad4199..a212b41a 100644 --- a/source/UI/js/Core/Cookies.js +++ b/source/UI/js/Core/Cookies.js @@ -1,4 +1,4 @@ -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.Cookies = function() { var name, value, cookies; diff --git a/source/UI/js/Core/Element.js b/source/UI/js/Core/Element.js index ef536858..74038f50 100644 --- a/source/UI/js/Core/Element.js +++ b/source/UI/js/Core/Element.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; (function(_) { var noTooltipEvents = {}; diff --git a/source/UI/js/Core/Event.js b/source/UI/js/Core/Event.js index 35c63ed9..73238075 100644 --- a/source/UI/js/Core/Event.js +++ b/source/UI/js/Core/Event.js @@ -1,4 +1,4 @@ -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; (function() { diff --git a/source/UI/js/Core/Focus.js b/source/UI/js/Core/Focus.js index c213eba5..82f3925e 100644 --- a/source/UI/js/Core/Focus.js +++ b/source/UI/js/Core/Focus.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Focus Basic focus controller diff --git a/source/UI/js/Core/Fullscreen.js b/source/UI/js/Core/Fullscreen.js index 527e6f60..a41645e9 100644 --- a/source/UI/js/Core/Fullscreen.js +++ b/source/UI/js/Core/Fullscreen.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Fullscreen Fullscreen controller diff --git a/source/UI/js/Core/GarbageCollection.js b/source/UI/js/Core/GarbageCollection.js index c8320afe..e0a0689d 100644 --- a/source/UI/js/Core/GarbageCollection.js +++ b/source/UI/js/Core/GarbageCollection.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.GarbageCollection GarbageCollection diff --git a/source/UI/js/Core/History.js b/source/UI/js/Core/History.js index 5c388c97..6efd06ac 100644 --- a/source/UI/js/Core/History.js +++ b/source/UI/js/Core/History.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.History = function(options) { diff --git a/source/UI/js/Core/LoadingIcon.js b/source/UI/js/Core/LoadingIcon.js index d1b44da4..cf575057 100644 --- a/source/UI/js/Core/LoadingIcon.js +++ b/source/UI/js/Core/LoadingIcon.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.LoadingIcon Loading Icon Element diff --git a/source/UI/js/Core/LoadingScreen.js b/source/UI/js/Core/LoadingScreen.js index 1b30f9ea..30184a55 100644 --- a/source/UI/js/Core/LoadingScreen.js +++ b/source/UI/js/Core/LoadingScreen.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.LoadingScreen Simple loading screen diff --git a/source/UI/js/Core/Request.js b/source/UI/js/Core/Request.js index b2a43fba..fe002248 100644 --- a/source/UI/js/Core/Request.js +++ b/source/UI/js/Core/Request.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Request Basic request controller diff --git a/source/UI/js/Core/Theme.js b/source/UI/js/Core/Theme.js index 0a5593ea..efcd092e 100644 --- a/source/UI/js/Core/Theme.js +++ b/source/UI/js/Core/Theme.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Theme get/set theme diff --git a/source/UI/js/Core/UI.js b/source/UI/js/Core/UI.js index 932ed3d7..26aa0c36 100644 --- a/source/UI/js/Core/UI.js +++ b/source/UI/js/Core/UI.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.UI = Ox.UI || {}; console.log("Ox", Ox, Ox.UI) diff --git a/source/UI/js/Core/URL.js b/source/UI/js/Core/URL.js index 2bc59465..0da430aa 100644 --- a/source/UI/js/Core/URL.js +++ b/source/UI/js/Core/URL.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.URL URL controller diff --git a/source/UI/js/Form/ArrayEditable.js b/source/UI/js/Form/ArrayEditable.js index ec81fe58..75428e65 100644 --- a/source/UI/js/Form/ArrayEditable.js +++ b/source/UI/js/Form/ArrayEditable.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ArrayEditable Array Editable diff --git a/source/UI/js/Form/ArrayInput.js b/source/UI/js/Form/ArrayInput.js index 3faf52ea..b367d933 100644 --- a/source/UI/js/Form/ArrayInput.js +++ b/source/UI/js/Form/ArrayInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ArrayInput Array input diff --git a/source/UI/js/Form/Button.js b/source/UI/js/Form/Button.js index fd3eb264..2fbe894f 100644 --- a/source/UI/js/Form/Button.js +++ b/source/UI/js/Form/Button.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Button Button Object diff --git a/source/UI/js/Form/ButtonGroup.js b/source/UI/js/Form/ButtonGroup.js index 0fc00761..acbcfaec 100644 --- a/source/UI/js/Form/ButtonGroup.js +++ b/source/UI/js/Form/ButtonGroup.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ButtonGroup ButtonGroup Object diff --git a/source/UI/js/Form/Checkbox.js b/source/UI/js/Form/Checkbox.js index a9fe522e..d502972f 100644 --- a/source/UI/js/Form/Checkbox.js +++ b/source/UI/js/Form/Checkbox.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Checkbox Checkbox Element diff --git a/source/UI/js/Form/CheckboxGroup.js b/source/UI/js/Form/CheckboxGroup.js index c9ec4c4c..9763eb0d 100644 --- a/source/UI/js/Form/CheckboxGroup.js +++ b/source/UI/js/Form/CheckboxGroup.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.CheckboxGroup CheckboxGroup Object diff --git a/source/UI/js/Form/ColorInput.js b/source/UI/js/Form/ColorInput.js index 06022110..dd78e7ab 100644 --- a/source/UI/js/Form/ColorInput.js +++ b/source/UI/js/Form/ColorInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ColorInput ColorInput Element diff --git a/source/UI/js/Form/ColorPicker.js b/source/UI/js/Form/ColorPicker.js index d646419c..3bc594bb 100644 --- a/source/UI/js/Form/ColorPicker.js +++ b/source/UI/js/Form/ColorPicker.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ColorPicker ColorPicker Element diff --git a/source/UI/js/Form/DateInput.js b/source/UI/js/Form/DateInput.js index 8e6534e7..ee320b1b 100644 --- a/source/UI/js/Form/DateInput.js +++ b/source/UI/js/Form/DateInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.DateInput DateInput Element diff --git a/source/UI/js/Form/DateTimeInput.js b/source/UI/js/Form/DateTimeInput.js index 117a5fa5..4b196bc6 100644 --- a/source/UI/js/Form/DateTimeInput.js +++ b/source/UI/js/Form/DateTimeInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.DateTimeInput DateTimeInput Element diff --git a/source/UI/js/Form/Editable.js b/source/UI/js/Form/Editable.js index 3b1937bc..eed5c4e2 100644 --- a/source/UI/js/Form/Editable.js +++ b/source/UI/js/Form/Editable.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Editable Editable element diff --git a/source/UI/js/Form/EditableContent.js b/source/UI/js/Form/EditableContent.js index c6568f53..89a0d8e8 100644 --- a/source/UI/js/Form/EditableContent.js +++ b/source/UI/js/Form/EditableContent.js @@ -1,4 +1,4 @@ -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.EditableContent = function(options, self) { diff --git a/source/UI/js/Form/FileButton.js b/source/UI/js/Form/FileButton.js index 858e9bb0..ad9bebdc 100644 --- a/source/UI/js/Form/FileButton.js +++ b/source/UI/js/Form/FileButton.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.FileButton File Button diff --git a/source/UI/js/Form/FileInput.js b/source/UI/js/Form/FileInput.js index fa0a5586..c4e627de 100644 --- a/source/UI/js/Form/FileInput.js +++ b/source/UI/js/Form/FileInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.FileInput File Input diff --git a/source/UI/js/Form/Filter.js b/source/UI/js/Form/Filter.js index a9c655ee..60d15a3b 100644 --- a/source/UI/js/Form/Filter.js +++ b/source/UI/js/Form/Filter.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Filter Filter Object diff --git a/source/UI/js/Form/Form.js b/source/UI/js/Form/Form.js index ced5a060..2e565ba8 100644 --- a/source/UI/js/Form/Form.js +++ b/source/UI/js/Form/Form.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Form Form Object diff --git a/source/UI/js/Form/FormElementGroup.js b/source/UI/js/Form/FormElementGroup.js index 78d8146a..f03199da 100644 --- a/source/UI/js/Form/FormElementGroup.js +++ b/source/UI/js/Form/FormElementGroup.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.FormElementGroup FormElementGroup Element diff --git a/source/UI/js/Form/FormItem.js b/source/UI/js/Form/FormItem.js index f152dacb..c687599b 100644 --- a/source/UI/js/Form/FormItem.js +++ b/source/UI/js/Form/FormItem.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.FormItem FormItem Element, wraps form element with an error message diff --git a/source/UI/js/Form/FormPanel.js b/source/UI/js/Form/FormPanel.js index 55b75021..e5102127 100644 --- a/source/UI/js/Form/FormPanel.js +++ b/source/UI/js/Form/FormPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.FormPanel Form Panel diff --git a/source/UI/js/Form/Input.js b/source/UI/js/Form/Input.js index f84d5cee..da38b445 100644 --- a/source/UI/js/Form/Input.js +++ b/source/UI/js/Form/Input.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Input Input Element diff --git a/source/UI/js/Form/InputGroup.js b/source/UI/js/Form/InputGroup.js index 30100068..ac8e7d34 100644 --- a/source/UI/js/Form/InputGroup.js +++ b/source/UI/js/Form/InputGroup.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.InputGroup InputGroup Object diff --git a/source/UI/js/Form/InsertHTMLDialog.js b/source/UI/js/Form/InsertHTMLDialog.js index 2a87c085..32592136 100644 --- a/source/UI/js/Form/InsertHTMLDialog.js +++ b/source/UI/js/Form/InsertHTMLDialog.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.InsertHTMLDialog Insert HTML Dialog diff --git a/source/UI/js/Form/Label.js b/source/UI/js/Form/Label.js index 8c74ba52..169b724f 100644 --- a/source/UI/js/Form/Label.js +++ b/source/UI/js/Form/Label.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Label Label element diff --git a/source/UI/js/Form/ObjectArrayInput.js b/source/UI/js/Form/ObjectArrayInput.js index 14b68ba3..9d4068b6 100644 --- a/source/UI/js/Form/ObjectArrayInput.js +++ b/source/UI/js/Form/ObjectArrayInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ObjectArrayInput Object Array Input diff --git a/source/UI/js/Form/ObjectInput.js b/source/UI/js/Form/ObjectInput.js index 3f271d86..75601c12 100644 --- a/source/UI/js/Form/ObjectInput.js +++ b/source/UI/js/Form/ObjectInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ObjectInput Object Input diff --git a/source/UI/js/Form/OptionGroup.js b/source/UI/js/Form/OptionGroup.js index 53ede7f0..4184375b 100644 --- a/source/UI/js/Form/OptionGroup.js +++ b/source/UI/js/Form/OptionGroup.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.OptionGroup OptionGroup diff --git a/source/UI/js/Form/Picker.js b/source/UI/js/Form/Picker.js index 584c0ff3..ce1edd16 100644 --- a/source/UI/js/Form/Picker.js +++ b/source/UI/js/Form/Picker.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Picker Picker Object diff --git a/source/UI/js/Form/PlaceInput.js b/source/UI/js/Form/PlaceInput.js index 0443143d..a0b19284 100644 --- a/source/UI/js/Form/PlaceInput.js +++ b/source/UI/js/Form/PlaceInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.PlaceInput PlaceInput Object diff --git a/source/UI/js/Form/PlacePicker.js b/source/UI/js/Form/PlacePicker.js index 5e37060b..13e9b5bf 100644 --- a/source/UI/js/Form/PlacePicker.js +++ b/source/UI/js/Form/PlacePicker.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.PlacePicker PlacePicker Object diff --git a/source/UI/js/Form/Range.js b/source/UI/js/Form/Range.js index 47fcf0e7..a2fda071 100644 --- a/source/UI/js/Form/Range.js +++ b/source/UI/js/Form/Range.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Range Range Object diff --git a/source/UI/js/Form/Select.js b/source/UI/js/Form/Select.js index eb1f620a..51c52cb8 100644 --- a/source/UI/js/Form/Select.js +++ b/source/UI/js/Form/Select.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Select Select Object diff --git a/source/UI/js/Form/SelectInput.js b/source/UI/js/Form/SelectInput.js index c80a3709..b32f13b2 100644 --- a/source/UI/js/Form/SelectInput.js +++ b/source/UI/js/Form/SelectInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; //FIXME: does not work without options /*@ diff --git a/source/UI/js/Form/Spreadsheet.js b/source/UI/js/Form/Spreadsheet.js index 9b313cd7..3ce07f26 100644 --- a/source/UI/js/Form/Spreadsheet.js +++ b/source/UI/js/Form/Spreadsheet.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Spreadsheet Spreadsheet diff --git a/source/UI/js/Form/TimeInput.js b/source/UI/js/Form/TimeInput.js index cfc50acd..e507c6ab 100644 --- a/source/UI/js/Form/TimeInput.js +++ b/source/UI/js/Form/TimeInput.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.TimeInput TimeInput Object diff --git a/source/UI/js/Image/ImageElement.js b/source/UI/js/Image/ImageElement.js index 20fabcc6..b881762d 100644 --- a/source/UI/js/Image/ImageElement.js +++ b/source/UI/js/Image/ImageElement.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ImageElement Simple image element with loading indication diff --git a/source/UI/js/Image/ImageViewer.js b/source/UI/js/Image/ImageViewer.js index ed485f03..74528ea0 100644 --- a/source/UI/js/Image/ImageViewer.js +++ b/source/UI/js/Image/ImageViewer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ImageViewer Image Viewer diff --git a/source/UI/js/List/Chart.js b/source/UI/js/List/Chart.js index 6b198209..7f17ab0b 100644 --- a/source/UI/js/List/Chart.js +++ b/source/UI/js/List/Chart.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Chart Bar Chart diff --git a/source/UI/js/List/ColumnList.js b/source/UI/js/List/ColumnList.js index c1c8421e..91a51d7f 100644 --- a/source/UI/js/List/ColumnList.js +++ b/source/UI/js/List/ColumnList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ColumnList Column List Widget diff --git a/source/UI/js/List/CustomList.js b/source/UI/js/List/CustomList.js index 363cd2f4..09c6fc56 100644 --- a/source/UI/js/List/CustomList.js +++ b/source/UI/js/List/CustomList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.CustomList Custom List Widget diff --git a/source/UI/js/List/IconItem.js b/source/UI/js/List/IconItem.js index a0686dd7..0534b557 100644 --- a/source/UI/js/List/IconItem.js +++ b/source/UI/js/List/IconItem.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.IconItem IconItem Object diff --git a/source/UI/js/List/IconList.js b/source/UI/js/List/IconList.js index a95eab7a..9860f046 100644 --- a/source/UI/js/List/IconList.js +++ b/source/UI/js/List/IconList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.IconList IconList Object diff --git a/source/UI/js/List/InfoList.js b/source/UI/js/List/InfoList.js index 2ebdd219..a09dc6af 100644 --- a/source/UI/js/List/InfoList.js +++ b/source/UI/js/List/InfoList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.InfoList Info List diff --git a/source/UI/js/List/List.js b/source/UI/js/List/List.js index f38af749..fc612262 100644 --- a/source/UI/js/List/List.js +++ b/source/UI/js/List/List.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.List List constructor diff --git a/source/UI/js/List/ListItem.js b/source/UI/js/List/ListItem.js index bacbb0fe..908457af 100644 --- a/source/UI/js/List/ListItem.js +++ b/source/UI/js/List/ListItem.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.ListItem ListItem Object diff --git a/source/UI/js/List/SortList.js b/source/UI/js/List/SortList.js index 8ada0107..7f2737f0 100644 --- a/source/UI/js/List/SortList.js +++ b/source/UI/js/List/SortList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SortList Sortable List diff --git a/source/UI/js/List/TableList.js b/source/UI/js/List/TableList.js index 7061d9a8..4430c35d 100644 --- a/source/UI/js/List/TableList.js +++ b/source/UI/js/List/TableList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.TableList TableList Widget diff --git a/source/UI/js/List/TreeList.js b/source/UI/js/List/TreeList.js index f37c13f9..fb9111db 100644 --- a/source/UI/js/List/TreeList.js +++ b/source/UI/js/List/TreeList.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.TreeList Tree List diff --git a/source/UI/js/Map/Map.js b/source/UI/js/Map/Map.js index e57b1ff8..e4e779e5 100644 --- a/source/UI/js/Map/Map.js +++ b/source/UI/js/Map/Map.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Map Basic map object diff --git a/source/UI/js/Map/MapEditor.js b/source/UI/js/Map/MapEditor.js index 52d096fb..fd69533f 100644 --- a/source/UI/js/Map/MapEditor.js +++ b/source/UI/js/Map/MapEditor.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapEditor Map Editor diff --git a/source/UI/js/Map/MapImage.js b/source/UI/js/Map/MapImage.js index c340f8f6..9ee59ec3 100644 --- a/source/UI/js/Map/MapImage.js +++ b/source/UI/js/Map/MapImage.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapImage MapImage Object diff --git a/source/UI/js/Map/MapMarker.js b/source/UI/js/Map/MapMarker.js index 7b45681f..7ef7d8ec 100644 --- a/source/UI/js/Map/MapMarker.js +++ b/source/UI/js/Map/MapMarker.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapMarker MapMarker diff --git a/source/UI/js/Map/MapMarkerImage.js b/source/UI/js/Map/MapMarkerImage.js index fc94554b..bb27e555 100644 --- a/source/UI/js/Map/MapMarkerImage.js +++ b/source/UI/js/Map/MapMarkerImage.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapMarkerImage MapMarkerImage Object diff --git a/source/UI/js/Map/MapPlace.js b/source/UI/js/Map/MapPlace.js index 48f66c45..6e9b6f97 100644 --- a/source/UI/js/Map/MapPlace.js +++ b/source/UI/js/Map/MapPlace.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapPlace MapPlace Object diff --git a/source/UI/js/Map/MapRectangle.js b/source/UI/js/Map/MapRectangle.js index 2f53bb2b..74b4ba13 100644 --- a/source/UI/js/Map/MapRectangle.js +++ b/source/UI/js/Map/MapRectangle.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapRectangle MapRectangle Object diff --git a/source/UI/js/Map/MapRectangleMarker.js b/source/UI/js/Map/MapRectangleMarker.js index 0de1478c..4115a17b 100644 --- a/source/UI/js/Map/MapRectangleMarker.js +++ b/source/UI/js/Map/MapRectangleMarker.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MapRectangleMarker MapRectangleMarker Object diff --git a/source/UI/js/Menu/MainMenu.js b/source/UI/js/Menu/MainMenu.js index 17a69f53..60f14940 100644 --- a/source/UI/js/Menu/MainMenu.js +++ b/source/UI/js/Menu/MainMenu.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MainMenu MainMenu Object diff --git a/source/UI/js/Menu/Menu.js b/source/UI/js/Menu/Menu.js index 7044ead4..06628761 100644 --- a/source/UI/js/Menu/Menu.js +++ b/source/UI/js/Menu/Menu.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Menu Menu Object diff --git a/source/UI/js/Menu/MenuButton.js b/source/UI/js/Menu/MenuButton.js index c2c1cc4c..b722acb0 100644 --- a/source/UI/js/Menu/MenuButton.js +++ b/source/UI/js/Menu/MenuButton.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MenuButton Menu Button diff --git a/source/UI/js/Menu/MenuItem.js b/source/UI/js/Menu/MenuItem.js index 48f7d8dc..832389bf 100644 --- a/source/UI/js/Menu/MenuItem.js +++ b/source/UI/js/Menu/MenuItem.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.MenuItem MenuItem Object diff --git a/source/UI/js/Panel/CollapsePanel.js b/source/UI/js/Panel/CollapsePanel.js index 7b0fb677..5d703bfc 100644 --- a/source/UI/js/Panel/CollapsePanel.js +++ b/source/UI/js/Panel/CollapsePanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.CollapsePanel CollapsePanel Object diff --git a/source/UI/js/Panel/SlidePanel.js b/source/UI/js/Panel/SlidePanel.js index 121da126..90b297d0 100644 --- a/source/UI/js/Panel/SlidePanel.js +++ b/source/UI/js/Panel/SlidePanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.SlidePanel = function(options, self) { diff --git a/source/UI/js/Panel/SplitPanel.js b/source/UI/js/Panel/SplitPanel.js index c4c4ea0d..1dfc755c 100644 --- a/source/UI/js/Panel/SplitPanel.js +++ b/source/UI/js/Panel/SplitPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SplitPanel SpliPanel Object diff --git a/source/UI/js/Panel/TabPanel.js b/source/UI/js/Panel/TabPanel.js index 5582437a..6e90aa3d 100644 --- a/source/UI/js/Panel/TabPanel.js +++ b/source/UI/js/Panel/TabPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.TabPanel Tabbed panel diff --git a/source/UI/js/Video/AnnotationFolder.js b/source/UI/js/Video/AnnotationFolder.js index 44c6f720..fc74249c 100644 --- a/source/UI/js/Video/AnnotationFolder.js +++ b/source/UI/js/Video/AnnotationFolder.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.AnnotationFolder AnnotationFolder Object diff --git a/source/UI/js/Video/AnnotationPanel.js b/source/UI/js/Video/AnnotationPanel.js index ee1acf84..65b0eb30 100644 --- a/source/UI/js/Video/AnnotationPanel.js +++ b/source/UI/js/Video/AnnotationPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; // FIXME: should be Ox.AnnotationFolders diff --git a/source/UI/js/Video/BlockVideoTimeline.js b/source/UI/js/Video/BlockVideoTimeline.js index 720a6ac3..54908a96 100644 --- a/source/UI/js/Video/BlockVideoTimeline.js +++ b/source/UI/js/Video/BlockVideoTimeline.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.BlockVideoTimeline Block Video Timeline diff --git a/source/UI/js/Video/ClipPanel.js b/source/UI/js/Video/ClipPanel.js index cf96f619..7237a11a 100644 --- a/source/UI/js/Video/ClipPanel.js +++ b/source/UI/js/Video/ClipPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.ClipPanel = function(options, self) { diff --git a/source/UI/js/Video/LargeVideoTimeline.js b/source/UI/js/Video/LargeVideoTimeline.js index 7bfad09e..c4920b9b 100644 --- a/source/UI/js/Video/LargeVideoTimeline.js +++ b/source/UI/js/Video/LargeVideoTimeline.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.LargeVideoTimeline LargeTimeline Object diff --git a/source/UI/js/Video/SmallVideoTimeline.js b/source/UI/js/Video/SmallVideoTimeline.js index 7f7152be..35ab5e5c 100644 --- a/source/UI/js/Video/SmallVideoTimeline.js +++ b/source/UI/js/Video/SmallVideoTimeline.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SmallVideoTimeline Small video timeline diff --git a/source/UI/js/Video/SmallVideoTimelineImage.js b/source/UI/js/Video/SmallVideoTimelineImage.js index 1f174e8c..0c6ce26f 100644 --- a/source/UI/js/Video/SmallVideoTimelineImage.js +++ b/source/UI/js/Video/SmallVideoTimelineImage.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SmallVideoTimelineImage Small Video Timeline Image diff --git a/source/UI/js/Video/VideoAnnotationPanel.js b/source/UI/js/Video/VideoAnnotationPanel.js index 14f3853f..1d64e3a5 100644 --- a/source/UI/js/Video/VideoAnnotationPanel.js +++ b/source/UI/js/Video/VideoAnnotationPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoAnnotationPanel VideoAnnotationPanel Object diff --git a/source/UI/js/Video/VideoEditPanel.js b/source/UI/js/Video/VideoEditPanel.js index 0438092b..a2d02f6e 100644 --- a/source/UI/js/Video/VideoEditPanel.js +++ b/source/UI/js/Video/VideoEditPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.VideoEditPanel = function(options, self) { diff --git a/source/UI/js/Video/VideoElement.js b/source/UI/js/Video/VideoElement.js index 3dbe0441..bf3c249c 100644 --- a/source/UI/js/Video/VideoElement.js +++ b/source/UI/js/Video/VideoElement.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoElement VideoElement Object diff --git a/source/UI/js/Video/VideoPlayer.js b/source/UI/js/Video/VideoPlayer.js index 1186fdca..30befb30 100644 --- a/source/UI/js/Video/VideoPlayer.js +++ b/source/UI/js/Video/VideoPlayer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoPlayer Generic Video Player diff --git a/source/UI/js/Video/VideoPlayerMenu.js b/source/UI/js/Video/VideoPlayerMenu.js index d45e68ae..08026ffe 100644 --- a/source/UI/js/Video/VideoPlayerMenu.js +++ b/source/UI/js/Video/VideoPlayerMenu.js @@ -1,4 +1,4 @@ -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; Ox.VideoPlayerMenu = function(options, self) { diff --git a/source/UI/js/Video/VideoPlayerPanel.js b/source/UI/js/Video/VideoPlayerPanel.js index ef4ba74f..6f6e8dea 100644 --- a/source/UI/js/Video/VideoPlayerPanel.js +++ b/source/UI/js/Video/VideoPlayerPanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoPlayerPanel VideoPlayerPanel Object diff --git a/source/UI/js/Video/VideoPreview.js b/source/UI/js/Video/VideoPreview.js index 5e401b0d..2672ecc4 100644 --- a/source/UI/js/Video/VideoPreview.js +++ b/source/UI/js/Video/VideoPreview.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoPreview Video Preview diff --git a/source/UI/js/Video/VideoTimelinePanel.js b/source/UI/js/Video/VideoTimelinePanel.js index fc046b14..32006e1a 100644 --- a/source/UI/js/Video/VideoTimelinePanel.js +++ b/source/UI/js/Video/VideoTimelinePanel.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoTimelinePanel Video timeline panel diff --git a/source/UI/js/Video/VideoTimelinePlayer.js b/source/UI/js/Video/VideoTimelinePlayer.js index 85d9de19..e37e3e45 100644 --- a/source/UI/js/Video/VideoTimelinePlayer.js +++ b/source/UI/js/Video/VideoTimelinePlayer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.VideoTimelinePlayer Video Timeline Player diff --git a/source/UI/js/Window/Dialog.js b/source/UI/js/Window/Dialog.js index 32158c56..d96b2088 100644 --- a/source/UI/js/Window/Dialog.js +++ b/source/UI/js/Window/Dialog.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Dialog Dialog object diff --git a/source/UI/js/Window/Layer.js b/source/UI/js/Window/Layer.js index 91cca8e5..07fc1054 100644 --- a/source/UI/js/Window/Layer.js +++ b/source/UI/js/Window/Layer.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Layer Background layer for dialogs and menus diff --git a/source/UI/js/Window/SortDialog.js b/source/UI/js/Window/SortDialog.js index 896762a9..676bd750 100644 --- a/source/UI/js/Window/SortDialog.js +++ b/source/UI/js/Window/SortDialog.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.SortDialog Dialog with Sortable List diff --git a/source/UI/js/Window/Tooltip.js b/source/UI/js/Window/Tooltip.js index de9976ca..45ddd893 100644 --- a/source/UI/js/Window/Tooltip.js +++ b/source/UI/js/Window/Tooltip.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../../../Ox/js/Namespace.js'; +import Ox from './../../../Ox/js/Ox.Global.js'; /*@ Ox.Tooltip Tooltip Object diff --git a/source/Unicode/index.js b/source/Unicode/Unicode.js similarity index 98% rename from source/Unicode/index.js rename to source/Unicode/Unicode.js index ce5fe297..ab2937f9 100644 --- a/source/Unicode/index.js +++ b/source/Unicode/Unicode.js @@ -1,5 +1,5 @@ 'use strict'; -import Ox from './../Ox/js/Namespace.js'; +import Ox from './../Ox/js/Ox.Global.js'; Ox.load.Unicode = function(options, callback) {