Release 0.9.2
This commit is contained in:
parent
3cddebe08a
commit
81489f6e99
@ -4,7 +4,7 @@
|
|||||||
//Массив цветов статусов
|
//Массив цветов статусов
|
||||||
var statColor = [];
|
var statColor = [];
|
||||||
//Текущий статус
|
//Текущий статус
|
||||||
var status = 0;
|
var status = -1;
|
||||||
/*Проценты поднимаются снизу вверх (false)
|
/*Проценты поднимаются снизу вверх (false)
|
||||||
*или слева направо (true)*/
|
*или слева направо (true)*/
|
||||||
var rotate = false;
|
var rotate = false;
|
||||||
|
File diff suppressed because one or more lines are too long
7
Release/CycleWeb/Content/bootstrap.min.css
vendored
Normal file
7
Release/CycleWeb/Content/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Release/CycleWeb/Content/bootstrap.min.css.map
Normal file
1
Release/CycleWeb/Content/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio 15
|
|
||||||
VisualStudioVersion = 15.0.26730.3
|
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
|
||||||
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "DiagramCanvas", ".", "{2AF8B939-704A-4D60-A3F8-F1EF5D0FCF0E}"
|
|
||||||
ProjectSection(WebsiteProperties) = preProject
|
|
||||||
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
|
|
||||||
Debug.AspNetCompiler.VirtualPath = "/localhost_57940"
|
|
||||||
Debug.AspNetCompiler.PhysicalPath = "..\DiagramCanvas\"
|
|
||||||
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_57940\"
|
|
||||||
Debug.AspNetCompiler.Updateable = "true"
|
|
||||||
Debug.AspNetCompiler.ForceOverwrite = "true"
|
|
||||||
Debug.AspNetCompiler.FixedNames = "false"
|
|
||||||
Debug.AspNetCompiler.Debug = "True"
|
|
||||||
Release.AspNetCompiler.VirtualPath = "/localhost_57940"
|
|
||||||
Release.AspNetCompiler.PhysicalPath = "..\DiagramCanvas\"
|
|
||||||
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_57940\"
|
|
||||||
Release.AspNetCompiler.Updateable = "true"
|
|
||||||
Release.AspNetCompiler.ForceOverwrite = "true"
|
|
||||||
Release.AspNetCompiler.FixedNames = "false"
|
|
||||||
Release.AspNetCompiler.Debug = "False"
|
|
||||||
VWDPort = "57940"
|
|
||||||
SlnRelativePath = "..\DiagramCanvas\"
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{2AF8B939-704A-4D60-A3F8-F1EF5D0FCF0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{2AF8B939-704A-4D60-A3F8-F1EF5D0FCF0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
SolutionGuid = {52E57725-7711-4ED5-AE64-6CB60088846C}
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
@ -4,7 +4,7 @@
|
|||||||
//Массив цветов статусов
|
//Массив цветов статусов
|
||||||
var statColor = [];
|
var statColor = [];
|
||||||
//Текущий статус
|
//Текущий статус
|
||||||
var status = 0;
|
var status = -1;
|
||||||
/*Проценты поднимаются снизу вверх (false)
|
/*Проценты поднимаются снизу вверх (false)
|
||||||
*или слева направо (true)*/
|
*или слева направо (true)*/
|
||||||
var rotate = false;
|
var rotate = false;
|
||||||
|
1
Release/CycleWeb/DiagramStoveDll/Diagram.min.js
vendored
Normal file
1
Release/CycleWeb/DiagramStoveDll/Diagram.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -2,7 +2,7 @@
|
|||||||
//Основной прямоугольник
|
//Основной прямоугольник
|
||||||
var rAll = new Rectangle(x, y, w, h);
|
var rAll = new Rectangle(x, y, w, h);
|
||||||
//Текущий статус по простою
|
//Текущий статус по простою
|
||||||
var prostoy = false;
|
var prostoy = true;
|
||||||
/*Проценты поднимаются снизу вверх (false)
|
/*Проценты поднимаются снизу вверх (false)
|
||||||
*или слева направо (true)*/
|
*или слева направо (true)*/
|
||||||
var rotate = false;
|
var rotate = false;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
//Проценты статуса
|
//Проценты статуса
|
||||||
var percent = 0;
|
var percent = 0;
|
||||||
//Номер статуса
|
//Номер статуса
|
||||||
var status = 0;
|
var status = -1;
|
||||||
/*Проценты поднимаются снизу вверх (false)
|
/*Проценты поднимаются снизу вверх (false)
|
||||||
*или слева направо (true)*/
|
*или слева направо (true)*/
|
||||||
var rotate = false;
|
var rotate = false;
|
||||||
@ -41,7 +41,7 @@
|
|||||||
this.Status = function (val) {
|
this.Status = function (val) {
|
||||||
if (val === undefined) return status;
|
if (val === undefined) return status;
|
||||||
var v = parseInt(val);
|
var v = parseInt(val);
|
||||||
status = (isNaN(v) || v < 0 || rStat.length === 0) ? 0 :
|
status = (isNaN(v) || v < -1 || rStat.length === 0) ? -1 :
|
||||||
(v >= rStat.length) ? (rStat.length - 1) : v;
|
(v >= rStat.length) ? (rStat.length - 1) : v;
|
||||||
};
|
};
|
||||||
//Функция изменения начальной координаты и размеров прямоугольника
|
//Функция изменения начальной координаты и размеров прямоугольника
|
||||||
@ -110,7 +110,7 @@
|
|||||||
this.BuildDefault = function () {
|
this.BuildDefault = function () {
|
||||||
var defaultPoint = [57, 49, 49, 71, 28, 49, 21, 171, 114, 103];
|
var defaultPoint = [57, 49, 49, 71, 28, 49, 21, 171, 114, 103];
|
||||||
var defaultColor = ["#0ff", "#00f", "#f00", "#0f0", "#0ff", "#00f", "#8500b6", "#f00", "#f0f", "#0f0"];
|
var defaultColor = ["#0ff", "#00f", "#f00", "#0f0", "#0ff", "#00f", "#8500b6", "#f00", "#f0f", "#0f0"];
|
||||||
while(rStat.length > 0)
|
while (rStat.length > 0)
|
||||||
this.DelRStat();
|
this.DelRStat();
|
||||||
for (var i = 0; i < defaultPoint.length; i++)
|
for (var i = 0; i < defaultPoint.length; i++)
|
||||||
this.AddRStat(i, defaultPoint[i], defaultColor[i]);
|
this.AddRStat(i, defaultPoint[i], defaultColor[i]);
|
||||||
|
7
Release/CycleWeb/Scripts/bootstrap.min.js
vendored
Normal file
7
Release/CycleWeb/Scripts/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Release/CycleWeb/Scripts/bootstrap.min.js.map
Normal file
1
Release/CycleWeb/Scripts/bootstrap.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@ -1,524 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
;(function(window, document) {
|
|
||||||
/*jshint evil:true */
|
|
||||||
/** version */
|
|
||||||
var version = '3.7.3';
|
|
||||||
|
|
||||||
/** Preset options */
|
|
||||||
var options = window.html5 || {};
|
|
||||||
|
|
||||||
/** Used to skip problem elements */
|
|
||||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
|
||||||
|
|
||||||
/** Not all elements can be cloned in IE **/
|
|
||||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
|
||||||
|
|
||||||
/** Detect whether the browser supports default html5 styles */
|
|
||||||
var supportsHtml5Styles;
|
|
||||||
|
|
||||||
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
|
||||||
var expando = '_html5shiv';
|
|
||||||
|
|
||||||
/** The id for the the documents expando */
|
|
||||||
var expanID = 0;
|
|
||||||
|
|
||||||
/** Cached data for each document */
|
|
||||||
var expandoData = {};
|
|
||||||
|
|
||||||
/** Detect whether the browser supports unknown elements */
|
|
||||||
var supportsUnknownElements;
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
try {
|
|
||||||
var a = document.createElement('a');
|
|
||||||
a.innerHTML = '<xyz></xyz>';
|
|
||||||
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
|
||||||
supportsHtml5Styles = ('hidden' in a);
|
|
||||||
|
|
||||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
|
||||||
// assign a false positive if unable to shiv
|
|
||||||
(document.createElement)('a');
|
|
||||||
var frag = document.createDocumentFragment();
|
|
||||||
return (
|
|
||||||
typeof frag.cloneNode == 'undefined' ||
|
|
||||||
typeof frag.createDocumentFragment == 'undefined' ||
|
|
||||||
typeof frag.createElement == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
} catch(e) {
|
|
||||||
// assign a false positive if detection fails => unable to shiv
|
|
||||||
supportsHtml5Styles = true;
|
|
||||||
supportsUnknownElements = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @param {String} cssText The CSS text.
|
|
||||||
* @returns {StyleSheet} The style element.
|
|
||||||
*/
|
|
||||||
function addStyleSheet(ownerDocument, cssText) {
|
|
||||||
var p = ownerDocument.createElement('p'),
|
|
||||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
|
||||||
|
|
||||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
|
||||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the value of `html5.elements` as an array.
|
|
||||||
* @private
|
|
||||||
* @returns {Array} An array of shived element node names.
|
|
||||||
*/
|
|
||||||
function getElements() {
|
|
||||||
var elements = html5.elements;
|
|
||||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends the built-in list of html5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
*/
|
|
||||||
function addElements(newElements, ownerDocument) {
|
|
||||||
var elements = html5.elements;
|
|
||||||
if(typeof elements != 'string'){
|
|
||||||
elements = elements.join(' ');
|
|
||||||
}
|
|
||||||
if(typeof newElements != 'string'){
|
|
||||||
newElements = newElements.join(' ');
|
|
||||||
}
|
|
||||||
html5.elements = elements +' '+ newElements;
|
|
||||||
shivDocument(ownerDocument);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the data associated to the given document
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Object} An object of data.
|
|
||||||
*/
|
|
||||||
function getExpandoData(ownerDocument) {
|
|
||||||
var data = expandoData[ownerDocument[expando]];
|
|
||||||
if (!data) {
|
|
||||||
data = {};
|
|
||||||
expanID++;
|
|
||||||
ownerDocument[expando] = expanID;
|
|
||||||
expandoData[expanID] = data;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived element for the given nodeName and document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String} nodeName name of the element
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived element.
|
|
||||||
*/
|
|
||||||
function createElement(nodeName, ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createElement(nodeName);
|
|
||||||
}
|
|
||||||
if (!data) {
|
|
||||||
data = getExpandoData(ownerDocument);
|
|
||||||
}
|
|
||||||
var node;
|
|
||||||
|
|
||||||
if (data.cache[nodeName]) {
|
|
||||||
node = data.cache[nodeName].cloneNode();
|
|
||||||
} else if (saveClones.test(nodeName)) {
|
|
||||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
|
||||||
} else {
|
|
||||||
node = data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Avoid adding some elements to fragments in IE < 9 because
|
|
||||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
|
||||||
// is inserted into a document/fragment
|
|
||||||
// * Link elements with `src` attributes that are inaccessible, as with
|
|
||||||
// a 403 response, will cause the tab/window to crash
|
|
||||||
// * Script elements appended to fragments will execute when their `src`
|
|
||||||
// or `text` property is set
|
|
||||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived DocumentFragment for the given document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived DocumentFragment.
|
|
||||||
*/
|
|
||||||
function createDocumentFragment(ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createDocumentFragment();
|
|
||||||
}
|
|
||||||
data = data || getExpandoData(ownerDocument);
|
|
||||||
var clone = data.frag.cloneNode(),
|
|
||||||
i = 0,
|
|
||||||
elems = getElements(),
|
|
||||||
l = elems.length;
|
|
||||||
for(;i<l;i++){
|
|
||||||
clone.createElement(elems[i]);
|
|
||||||
}
|
|
||||||
return clone;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
|
||||||
* @param {Object} data of the document.
|
|
||||||
*/
|
|
||||||
function shivMethods(ownerDocument, data) {
|
|
||||||
if (!data.cache) {
|
|
||||||
data.cache = {};
|
|
||||||
data.createElem = ownerDocument.createElement;
|
|
||||||
data.createFrag = ownerDocument.createDocumentFragment;
|
|
||||||
data.frag = data.createFrag();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ownerDocument.createElement = function(nodeName) {
|
|
||||||
//abort shiv
|
|
||||||
if (!html5.shivMethods) {
|
|
||||||
return data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
return createElement(nodeName, ownerDocument, data);
|
|
||||||
};
|
|
||||||
|
|
||||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
|
||||||
'var n=f.cloneNode(),c=n.createElement;' +
|
|
||||||
'h.shivMethods&&(' +
|
|
||||||
// unroll the `createElement` calls
|
|
||||||
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
|
||||||
data.createElem(nodeName);
|
|
||||||
data.frag.createElement(nodeName);
|
|
||||||
return 'c("' + nodeName + '")';
|
|
||||||
}) +
|
|
||||||
');return n}'
|
|
||||||
)(html5, data.frag);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivDocument(ownerDocument) {
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
var data = getExpandoData(ownerDocument);
|
|
||||||
|
|
||||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
|
||||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
|
||||||
// corrects block display not defined in IE6/7/8/9
|
|
||||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
|
||||||
// adds styling not present in IE6/7/8/9
|
|
||||||
'mark{background:#FF0;color:#000}' +
|
|
||||||
// hides non-rendered elements
|
|
||||||
'template{display:none}'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (!supportsUnknownElements) {
|
|
||||||
shivMethods(ownerDocument, data);
|
|
||||||
}
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The `html5` object is exposed so that more elements can be shived and
|
|
||||||
* existing shiving can be detected on iframes.
|
|
||||||
* @type Object
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* // options can be changed before the script is included
|
|
||||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
|
||||||
*/
|
|
||||||
var html5 = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array or space separated string of node names of the elements to shiv.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Array|String
|
|
||||||
*/
|
|
||||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
|
||||||
|
|
||||||
/**
|
|
||||||
* current version of html5shiv
|
|
||||||
*/
|
|
||||||
'version': version,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivCSS': (options.shivCSS !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @type boolean
|
|
||||||
*/
|
|
||||||
'supportsUnknownElements': supportsUnknownElements,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
|
||||||
* methods should be overwritten.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivMethods': (options.shivMethods !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A string to describe the type of `html5` object ("default" or "default print").
|
|
||||||
* @memberOf html5
|
|
||||||
* @type String
|
|
||||||
*/
|
|
||||||
'type': 'default',
|
|
||||||
|
|
||||||
// shivs the document according to the specified `html5` object options
|
|
||||||
'shivDocument': shivDocument,
|
|
||||||
|
|
||||||
//creates a shived element
|
|
||||||
createElement: createElement,
|
|
||||||
|
|
||||||
//creates a shived documentFragment
|
|
||||||
createDocumentFragment: createDocumentFragment,
|
|
||||||
|
|
||||||
//extends list of elements
|
|
||||||
addElements: addElements
|
|
||||||
};
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose html5
|
|
||||||
window.html5 = html5;
|
|
||||||
|
|
||||||
// shiv the document
|
|
||||||
shivDocument(document);
|
|
||||||
|
|
||||||
/*------------------------------- Print Shiv -------------------------------*/
|
|
||||||
|
|
||||||
/** Used to filter media types */
|
|
||||||
var reMedia = /^$|\b(?:all|print)\b/;
|
|
||||||
|
|
||||||
/** Used to namespace printable elements */
|
|
||||||
var shivNamespace = 'html5shiv';
|
|
||||||
|
|
||||||
/** Detect whether the browser supports shivable style sheets */
|
|
||||||
var supportsShivableSheets = !supportsUnknownElements && (function() {
|
|
||||||
// assign a false negative if unable to shiv
|
|
||||||
var docEl = document.documentElement;
|
|
||||||
return !(
|
|
||||||
typeof document.namespaces == 'undefined' ||
|
|
||||||
typeof document.parentWindow == 'undefined' ||
|
|
||||||
typeof docEl.applyElement == 'undefined' ||
|
|
||||||
typeof docEl.removeNode == 'undefined' ||
|
|
||||||
typeof window.attachEvent == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wraps all HTML5 elements in the given document with printable elements.
|
|
||||||
* (eg. the "header" element is wrapped with the "html5shiv:header" element)
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Array} An array wrappers added.
|
|
||||||
*/
|
|
||||||
function addWrappers(ownerDocument) {
|
|
||||||
var node,
|
|
||||||
nodes = ownerDocument.getElementsByTagName('*'),
|
|
||||||
index = nodes.length,
|
|
||||||
reElements = RegExp('^(?:' + getElements().join('|') + ')$', 'i'),
|
|
||||||
result = [];
|
|
||||||
|
|
||||||
while (index--) {
|
|
||||||
node = nodes[index];
|
|
||||||
if (reElements.test(node.nodeName)) {
|
|
||||||
result.push(node.applyElement(createWrapper(node)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a printable wrapper for the given element.
|
|
||||||
* @private
|
|
||||||
* @param {Element} element The element.
|
|
||||||
* @returns {Element} The wrapper.
|
|
||||||
*/
|
|
||||||
function createWrapper(element) {
|
|
||||||
var node,
|
|
||||||
nodes = element.attributes,
|
|
||||||
index = nodes.length,
|
|
||||||
wrapper = element.ownerDocument.createElement(shivNamespace + ':' + element.nodeName);
|
|
||||||
|
|
||||||
// copy element attributes to the wrapper
|
|
||||||
while (index--) {
|
|
||||||
node = nodes[index];
|
|
||||||
node.specified && wrapper.setAttribute(node.nodeName, node.nodeValue);
|
|
||||||
}
|
|
||||||
// copy element styles to the wrapper
|
|
||||||
wrapper.style.cssText = element.style.cssText;
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given CSS text.
|
|
||||||
* (eg. header{} becomes html5shiv\:header{})
|
|
||||||
* @private
|
|
||||||
* @param {String} cssText The CSS text to shiv.
|
|
||||||
* @returns {String} The shived CSS text.
|
|
||||||
*/
|
|
||||||
function shivCssText(cssText) {
|
|
||||||
var pair,
|
|
||||||
parts = cssText.split('{'),
|
|
||||||
index = parts.length,
|
|
||||||
reElements = RegExp('(^|[\\s,>+~])(' + getElements().join('|') + ')(?=[[\\s,>+~#.:]|$)', 'gi'),
|
|
||||||
replacement = '$1' + shivNamespace + '\\:$2';
|
|
||||||
|
|
||||||
while (index--) {
|
|
||||||
pair = parts[index] = parts[index].split('}');
|
|
||||||
pair[pair.length - 1] = pair[pair.length - 1].replace(reElements, replacement);
|
|
||||||
parts[index] = pair.join('}');
|
|
||||||
}
|
|
||||||
return parts.join('{');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes the given wrappers, leaving the original elements.
|
|
||||||
* @private
|
|
||||||
* @params {Array} wrappers An array of printable wrappers.
|
|
||||||
*/
|
|
||||||
function removeWrappers(wrappers) {
|
|
||||||
var index = wrappers.length;
|
|
||||||
while (index--) {
|
|
||||||
wrappers[index].removeNode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document for print.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivPrint(ownerDocument) {
|
|
||||||
var shivedSheet,
|
|
||||||
wrappers,
|
|
||||||
data = getExpandoData(ownerDocument),
|
|
||||||
namespaces = ownerDocument.namespaces,
|
|
||||||
ownerWindow = ownerDocument.parentWindow;
|
|
||||||
|
|
||||||
if (!supportsShivableSheets || ownerDocument.printShived) {
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
if (typeof namespaces[shivNamespace] == 'undefined') {
|
|
||||||
namespaces.add(shivNamespace);
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeSheet() {
|
|
||||||
clearTimeout(data._removeSheetTimer);
|
|
||||||
if (shivedSheet) {
|
|
||||||
shivedSheet.removeNode(true);
|
|
||||||
}
|
|
||||||
shivedSheet= null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ownerWindow.attachEvent('onbeforeprint', function() {
|
|
||||||
|
|
||||||
removeSheet();
|
|
||||||
|
|
||||||
var imports,
|
|
||||||
length,
|
|
||||||
sheet,
|
|
||||||
collection = ownerDocument.styleSheets,
|
|
||||||
cssText = [],
|
|
||||||
index = collection.length,
|
|
||||||
sheets = Array(index);
|
|
||||||
|
|
||||||
// convert styleSheets collection to an array
|
|
||||||
while (index--) {
|
|
||||||
sheets[index] = collection[index];
|
|
||||||
}
|
|
||||||
// concat all style sheet CSS text
|
|
||||||
while ((sheet = sheets.pop())) {
|
|
||||||
// IE does not enforce a same origin policy for external style sheets...
|
|
||||||
// but has trouble with some dynamically created stylesheets
|
|
||||||
if (!sheet.disabled && reMedia.test(sheet.media)) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
imports = sheet.imports;
|
|
||||||
length = imports.length;
|
|
||||||
} catch(er){
|
|
||||||
length = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (index = 0; index < length; index++) {
|
|
||||||
sheets.push(imports[index]);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
cssText.push(sheet.cssText);
|
|
||||||
} catch(er){}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// wrap all HTML5 elements with printable elements and add the shived style sheet
|
|
||||||
cssText = shivCssText(cssText.reverse().join(''));
|
|
||||||
wrappers = addWrappers(ownerDocument);
|
|
||||||
shivedSheet = addStyleSheet(ownerDocument, cssText);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
ownerWindow.attachEvent('onafterprint', function() {
|
|
||||||
// remove wrappers, leaving the original elements, and remove the shived style sheet
|
|
||||||
removeWrappers(wrappers);
|
|
||||||
clearTimeout(data._removeSheetTimer);
|
|
||||||
data._removeSheetTimer = setTimeout(removeSheet, 500);
|
|
||||||
});
|
|
||||||
|
|
||||||
ownerDocument.printShived = true;
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose API
|
|
||||||
html5.type += ' print';
|
|
||||||
html5.shivPrint = shivPrint;
|
|
||||||
|
|
||||||
// shiv for print
|
|
||||||
shivPrint(document);
|
|
||||||
|
|
||||||
if(typeof module == 'object' && module.exports){
|
|
||||||
module.exports = html5;
|
|
||||||
}
|
|
||||||
|
|
||||||
}(typeof window !== "undefined" ? window : this, document));
|
|
@ -1,4 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
|
326
Release/CycleWeb/Scripts/html5shiv.js
vendored
326
Release/CycleWeb/Scripts/html5shiv.js
vendored
@ -1,326 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
;(function(window, document) {
|
|
||||||
/*jshint evil:true */
|
|
||||||
/** version */
|
|
||||||
var version = '3.7.3';
|
|
||||||
|
|
||||||
/** Preset options */
|
|
||||||
var options = window.html5 || {};
|
|
||||||
|
|
||||||
/** Used to skip problem elements */
|
|
||||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
|
||||||
|
|
||||||
/** Not all elements can be cloned in IE **/
|
|
||||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
|
||||||
|
|
||||||
/** Detect whether the browser supports default html5 styles */
|
|
||||||
var supportsHtml5Styles;
|
|
||||||
|
|
||||||
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
|
||||||
var expando = '_html5shiv';
|
|
||||||
|
|
||||||
/** The id for the the documents expando */
|
|
||||||
var expanID = 0;
|
|
||||||
|
|
||||||
/** Cached data for each document */
|
|
||||||
var expandoData = {};
|
|
||||||
|
|
||||||
/** Detect whether the browser supports unknown elements */
|
|
||||||
var supportsUnknownElements;
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
try {
|
|
||||||
var a = document.createElement('a');
|
|
||||||
a.innerHTML = '<xyz></xyz>';
|
|
||||||
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
|
||||||
supportsHtml5Styles = ('hidden' in a);
|
|
||||||
|
|
||||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
|
||||||
// assign a false positive if unable to shiv
|
|
||||||
(document.createElement)('a');
|
|
||||||
var frag = document.createDocumentFragment();
|
|
||||||
return (
|
|
||||||
typeof frag.cloneNode == 'undefined' ||
|
|
||||||
typeof frag.createDocumentFragment == 'undefined' ||
|
|
||||||
typeof frag.createElement == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
} catch(e) {
|
|
||||||
// assign a false positive if detection fails => unable to shiv
|
|
||||||
supportsHtml5Styles = true;
|
|
||||||
supportsUnknownElements = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @param {String} cssText The CSS text.
|
|
||||||
* @returns {StyleSheet} The style element.
|
|
||||||
*/
|
|
||||||
function addStyleSheet(ownerDocument, cssText) {
|
|
||||||
var p = ownerDocument.createElement('p'),
|
|
||||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
|
||||||
|
|
||||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
|
||||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the value of `html5.elements` as an array.
|
|
||||||
* @private
|
|
||||||
* @returns {Array} An array of shived element node names.
|
|
||||||
*/
|
|
||||||
function getElements() {
|
|
||||||
var elements = html5.elements;
|
|
||||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends the built-in list of html5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
*/
|
|
||||||
function addElements(newElements, ownerDocument) {
|
|
||||||
var elements = html5.elements;
|
|
||||||
if(typeof elements != 'string'){
|
|
||||||
elements = elements.join(' ');
|
|
||||||
}
|
|
||||||
if(typeof newElements != 'string'){
|
|
||||||
newElements = newElements.join(' ');
|
|
||||||
}
|
|
||||||
html5.elements = elements +' '+ newElements;
|
|
||||||
shivDocument(ownerDocument);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the data associated to the given document
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Object} An object of data.
|
|
||||||
*/
|
|
||||||
function getExpandoData(ownerDocument) {
|
|
||||||
var data = expandoData[ownerDocument[expando]];
|
|
||||||
if (!data) {
|
|
||||||
data = {};
|
|
||||||
expanID++;
|
|
||||||
ownerDocument[expando] = expanID;
|
|
||||||
expandoData[expanID] = data;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived element for the given nodeName and document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String} nodeName name of the element
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived element.
|
|
||||||
*/
|
|
||||||
function createElement(nodeName, ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createElement(nodeName);
|
|
||||||
}
|
|
||||||
if (!data) {
|
|
||||||
data = getExpandoData(ownerDocument);
|
|
||||||
}
|
|
||||||
var node;
|
|
||||||
|
|
||||||
if (data.cache[nodeName]) {
|
|
||||||
node = data.cache[nodeName].cloneNode();
|
|
||||||
} else if (saveClones.test(nodeName)) {
|
|
||||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
|
||||||
} else {
|
|
||||||
node = data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Avoid adding some elements to fragments in IE < 9 because
|
|
||||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
|
||||||
// is inserted into a document/fragment
|
|
||||||
// * Link elements with `src` attributes that are inaccessible, as with
|
|
||||||
// a 403 response, will cause the tab/window to crash
|
|
||||||
// * Script elements appended to fragments will execute when their `src`
|
|
||||||
// or `text` property is set
|
|
||||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived DocumentFragment for the given document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived DocumentFragment.
|
|
||||||
*/
|
|
||||||
function createDocumentFragment(ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createDocumentFragment();
|
|
||||||
}
|
|
||||||
data = data || getExpandoData(ownerDocument);
|
|
||||||
var clone = data.frag.cloneNode(),
|
|
||||||
i = 0,
|
|
||||||
elems = getElements(),
|
|
||||||
l = elems.length;
|
|
||||||
for(;i<l;i++){
|
|
||||||
clone.createElement(elems[i]);
|
|
||||||
}
|
|
||||||
return clone;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
|
||||||
* @param {Object} data of the document.
|
|
||||||
*/
|
|
||||||
function shivMethods(ownerDocument, data) {
|
|
||||||
if (!data.cache) {
|
|
||||||
data.cache = {};
|
|
||||||
data.createElem = ownerDocument.createElement;
|
|
||||||
data.createFrag = ownerDocument.createDocumentFragment;
|
|
||||||
data.frag = data.createFrag();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ownerDocument.createElement = function(nodeName) {
|
|
||||||
//abort shiv
|
|
||||||
if (!html5.shivMethods) {
|
|
||||||
return data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
return createElement(nodeName, ownerDocument, data);
|
|
||||||
};
|
|
||||||
|
|
||||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
|
||||||
'var n=f.cloneNode(),c=n.createElement;' +
|
|
||||||
'h.shivMethods&&(' +
|
|
||||||
// unroll the `createElement` calls
|
|
||||||
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
|
||||||
data.createElem(nodeName);
|
|
||||||
data.frag.createElement(nodeName);
|
|
||||||
return 'c("' + nodeName + '")';
|
|
||||||
}) +
|
|
||||||
');return n}'
|
|
||||||
)(html5, data.frag);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivDocument(ownerDocument) {
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
var data = getExpandoData(ownerDocument);
|
|
||||||
|
|
||||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
|
||||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
|
||||||
// corrects block display not defined in IE6/7/8/9
|
|
||||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
|
||||||
// adds styling not present in IE6/7/8/9
|
|
||||||
'mark{background:#FF0;color:#000}' +
|
|
||||||
// hides non-rendered elements
|
|
||||||
'template{display:none}'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (!supportsUnknownElements) {
|
|
||||||
shivMethods(ownerDocument, data);
|
|
||||||
}
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The `html5` object is exposed so that more elements can be shived and
|
|
||||||
* existing shiving can be detected on iframes.
|
|
||||||
* @type Object
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* // options can be changed before the script is included
|
|
||||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
|
||||||
*/
|
|
||||||
var html5 = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array or space separated string of node names of the elements to shiv.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Array|String
|
|
||||||
*/
|
|
||||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
|
||||||
|
|
||||||
/**
|
|
||||||
* current version of html5shiv
|
|
||||||
*/
|
|
||||||
'version': version,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivCSS': (options.shivCSS !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @type boolean
|
|
||||||
*/
|
|
||||||
'supportsUnknownElements': supportsUnknownElements,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
|
||||||
* methods should be overwritten.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivMethods': (options.shivMethods !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A string to describe the type of `html5` object ("default" or "default print").
|
|
||||||
* @memberOf html5
|
|
||||||
* @type String
|
|
||||||
*/
|
|
||||||
'type': 'default',
|
|
||||||
|
|
||||||
// shivs the document according to the specified `html5` object options
|
|
||||||
'shivDocument': shivDocument,
|
|
||||||
|
|
||||||
//creates a shived element
|
|
||||||
createElement: createElement,
|
|
||||||
|
|
||||||
//creates a shived documentFragment
|
|
||||||
createDocumentFragment: createDocumentFragment,
|
|
||||||
|
|
||||||
//extends list of elements
|
|
||||||
addElements: addElements
|
|
||||||
};
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose html5
|
|
||||||
window.html5 = html5;
|
|
||||||
|
|
||||||
// shiv the document
|
|
||||||
shivDocument(document);
|
|
||||||
|
|
||||||
if(typeof module == 'object' && module.exports){
|
|
||||||
module.exports = html5;
|
|
||||||
}
|
|
||||||
|
|
||||||
}(typeof window !== "undefined" ? window : this, document));
|
|
4
Release/CycleWeb/Scripts/html5shiv.min.js
vendored
4
Release/CycleWeb/Scripts/html5shiv.min.js
vendored
@ -1,4 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
|
2670
Release/CycleWeb/Scripts/jquery-3.3.1.intellisense.js
vendored
2670
Release/CycleWeb/Scripts/jquery-3.3.1.intellisense.js
vendored
File diff suppressed because it is too large
Load Diff
10364
Release/CycleWeb/Scripts/jquery-3.3.1.js
vendored
10364
Release/CycleWeb/Scripts/jquery-3.3.1.js
vendored
File diff suppressed because it is too large
Load Diff
2
Release/CycleWeb/Scripts/jquery-3.3.1.min.js
vendored
2
Release/CycleWeb/Scripts/jquery-3.3.1.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
Release/CycleWeb/Scripts/jquery-3.6.0.min.js
vendored
Normal file
2
Release/CycleWeb/Scripts/jquery-3.6.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
Release/CycleWeb/Scripts/umd/popper.min.js
vendored
Normal file
5
Release/CycleWeb/Scripts/umd/popper.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Release/CycleWeb/Scripts/umd/popper.min.js.map
Normal file
1
Release/CycleWeb/Scripts/umd/popper.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@ -81,7 +81,7 @@ but2.onclick = function () {
|
|||||||
else
|
else
|
||||||
for (var k = 0; k < count; k++)
|
for (var k = 0; k < count; k++)
|
||||||
t.AddRStat(k, arrPoint[k], arrColor[k]);
|
t.AddRStat(k, arrPoint[k], arrColor[k]);
|
||||||
t.Status(Math.floor(Math.random() * t.StatCount()));
|
t.Status(Math.floor(Math.random() * (t.StatCount() + 1) - 1));
|
||||||
t.Percent(Math.random() * 101);
|
t.Percent(Math.random() * 101);
|
||||||
t.Print(ctx);
|
t.Print(ctx);
|
||||||
if (chkText.checked)
|
if (chkText.checked)
|
||||||
|
@ -1,21 +1,67 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ru">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>Diagram Stoves</title>
|
<title>Текущий статус печей</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<link rel="stylesheet" type="text/css" href="Content/bootstrap.css">
|
||||||
|
<link rel="stylesheet" type="text/css" href="Styles/Main.css">
|
||||||
</head>
|
</head>
|
||||||
<body style="margin:0px; padding:0px">
|
<body>
|
||||||
<canvas id="canvas" style="margin:0px; padding:0px"></canvas>
|
<div class="container-fluid">
|
||||||
|
<div id="First_Head" class="row m-0 pl-1 pr-1 pt-1 pb-0">
|
||||||
<div>
|
<div id="Main" class="col-12 text-center">
|
||||||
<input id="submit" type="button" size="5" value="submit" style=" margin:10px;"/>
|
Диаграмма статуса печей
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="Second_Head" class="row m-0 pl-1 pr-1 pt-0 pb-1 align-items-center">
|
||||||
|
<div class="col-12 col-lg-4 text-center">
|
||||||
|
Время клиента: <span id="DateClient">2018.02.27 08:41:24</span>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-lg-4 text-center">
|
||||||
|
Время сервера: <span id="DateServer"></span>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-lg-4 text-center">
|
||||||
|
Время синхр.: <span id="DateSynch"></span>
|
||||||
|
</div>
|
||||||
|
<div id="Error_Border" class="col-12 text-center m-0
|
||||||
|
alert alert-danger alert-dismissible fade show" style="display:none;" role="alert">
|
||||||
|
<strong>Ошибка: </strong> <span id="Error_Message">Здесь будет текст ошибки</span>
|
||||||
|
<button id="Update_Button" type="button" class="close" aria-label="Close">↻</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="Scripts/jquery-3.3.1.min.js"></script>
|
<div id="Canvas_Body">
|
||||||
<script src="DiagramStoveDll/Rectangle.js"></script>
|
<canvas> </canvas>
|
||||||
<script src="DiagramStoveDll/PercentColumn.js"></script>
|
</div>
|
||||||
<script src="DiagramStoveDll/ProcessColumn.js"></script>
|
|
||||||
<script src="DiagramStoveDll/BlinkStatus.js"></script>
|
<div id="Third_Head" class="row m-0 pl-1 pr-1 pt-0 pb-0 align-items-center">
|
||||||
<script src="Diagram.js"></script>
|
<div class="col-12 text-left">
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #0ff ; padding:10px;"></span>Выгрузка-загрузка,
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #00f ; padding:10px;"></span>Вакуумирование,
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #f00 ; padding:10px;"></span>Токовая операция,
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #0f0 ; padding:10px;"></span>Охлаждение,
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #8500b6 ; padding:10px;"></span>Разведение,
|
||||||
|
<span style="display:inline-block; margin:0px 5px 0px 0px; background-color: #f0f ; padding:10px;"></span>ВУР
|
||||||
|
</div>
|
||||||
|
<div class="col-12 text-left">
|
||||||
|
<span style="display:inline-block; height:9px; margin:10px 5px 0px 0px; background-color: #00f ; padding:0px 19px 0px 0px;"></span>Приварка,
|
||||||
|
<span style="display:inline-block; height:9px; margin:10px 5px 0px 0px; background-color: #0f0 ; padding:0px 19px 0px 0px;"></span>Плавка,
|
||||||
|
<span style="display:inline-block; height:9px; margin:10px 5px 0px 0px; background-color: #f00 ; padding:0px 19px 0px 0px;"></span>Оплав
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="Scripts/jquery-3.6.0.min.js"></script>
|
||||||
|
<script src="Scripts/umd/popper.min.js"></script>
|
||||||
|
<script src="Scripts/bootstrap.min.js"></script>
|
||||||
|
<!--<script src="DiagramStoveDll/Rectangle.js"></script>
|
||||||
|
<script src="DiagramStoveDll/PercentColumn.js"></script>
|
||||||
|
<script src="DiagramStoveDll/ProcessColumn.js"></script>
|
||||||
|
<script src="DiagramStoveDll/BlinkStatus.js"></script>
|
||||||
|
<script src="DiagramStoveDll/NumberColumn.js"></script>
|
||||||
|
<script src="DiagramStoveDll/Diagram.js"></script>-->
|
||||||
|
<script src="DiagramStoveDll/Diagram.min.js"></script>
|
||||||
|
<script src="index.js"></script>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
203
Release/CycleWeb/index.js
Normal file
203
Release/CycleWeb/index.js
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
//Global Params
|
||||||
|
var htmlDateClient = document.getElementById("DateClient");
|
||||||
|
var htmlDateServer = document.getElementById("DateServer");
|
||||||
|
var htmlDateSynch = document.getElementById("DateSynch");
|
||||||
|
|
||||||
|
var htmlErrMSG = document.getElementById("Error_Message");
|
||||||
|
|
||||||
|
var canvas = document.getElementsByTagName("canvas")[0];
|
||||||
|
var ctx = canvas.getContext("2d");
|
||||||
|
|
||||||
|
var diagram = new Diagram(0, 0, canvas.width, canvas.height);
|
||||||
|
diagram.BuildDefault();
|
||||||
|
diagram.Cycle(true);
|
||||||
|
var update_button = document.getElementById("Update_Button");
|
||||||
|
//Global Params
|
||||||
|
|
||||||
|
//Show Date Now \/ \/ \/
|
||||||
|
function FNL(a, b) { for (var d = "" + a; d.length < b;)d = "0" + d; return d }
|
||||||
|
function DateToString(date) { return date.getFullYear() + "." + FNL(date.getMonth() + 1, 2) + "." + FNL(date.getDate(), 2) + " " + FNL(date.getHours(), 2) + ":" + FNL(date.getMinutes(), 2) + ":" + FNL(date.getSeconds(), 2); }
|
||||||
|
|
||||||
|
var dateClient = null;
|
||||||
|
var dateServer = null;
|
||||||
|
var dateSynch = null;
|
||||||
|
function PrintDateNow() {
|
||||||
|
var dn = new Date();
|
||||||
|
if (dateServer !== null && dateClient !== null)
|
||||||
|
dateServer.setMilliseconds(dateServer.getMilliseconds() + (dn - dateClient));
|
||||||
|
|
||||||
|
dateClient = dn;
|
||||||
|
htmlDateClient.innerHTML = DateToString(dateClient);
|
||||||
|
if (dateServer != null)
|
||||||
|
htmlDateServer.innerHTML = DateToString(dateServer);
|
||||||
|
if (dateSynch !== null)
|
||||||
|
htmlDateSynch.innerHTML = DateToString(dateSynch);
|
||||||
|
|
||||||
|
setTimeout(PrintDateNow, 1000);
|
||||||
|
}
|
||||||
|
function updateDateServer(date) {
|
||||||
|
if (typeof date.getMonth === 'function') {
|
||||||
|
dateClient = null;
|
||||||
|
dateServer = date;
|
||||||
|
} else
|
||||||
|
dateServer = null;
|
||||||
|
}
|
||||||
|
function updateDateSynch(date) {
|
||||||
|
if (typeof date.getMonth === 'function') {
|
||||||
|
dateSynch = date;
|
||||||
|
} else
|
||||||
|
dateSynch = null;
|
||||||
|
}
|
||||||
|
PrintDateNow();
|
||||||
|
//Show Date Now /\ /\ /\
|
||||||
|
|
||||||
|
//Resize Canvas \/ \/ \/
|
||||||
|
function Resize() {
|
||||||
|
if (window.innerWidth > window.innerHeight) {
|
||||||
|
canvas.height =
|
||||||
|
window.innerHeight - 20
|
||||||
|
- document.getElementById("First_Head").offsetHeight
|
||||||
|
- document.getElementById("Second_Head").offsetHeight
|
||||||
|
- document.getElementById("Third_Head").offsetHeight;
|
||||||
|
canvas.width = document.getElementById("Canvas_Body").offsetWidth;
|
||||||
|
diagram.Rotate(false);
|
||||||
|
diagram.RectParam(0.5, 0.5, canvas.width - 1, canvas.height - 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
canvas.height = diagram.ProcCount() * 25;
|
||||||
|
canvas.width = document.getElementById("Canvas_Body").offsetWidth;
|
||||||
|
diagram.Rotate(true);
|
||||||
|
diagram.RectParam(0.5, 0.5, canvas.width - 1, canvas.height - 1);
|
||||||
|
}
|
||||||
|
ctx = canvas.getContext("2d");
|
||||||
|
diagram.Print(ctx);
|
||||||
|
}
|
||||||
|
window.addEventListener("load", Resize, false);
|
||||||
|
window.addEventListener("resize", Resize, false);
|
||||||
|
//Resize Canvas /\ /\ /\
|
||||||
|
|
||||||
|
//Autoprint diagram \/ \/ \/
|
||||||
|
function PrintCycle() {
|
||||||
|
diagram.Print(ctx);
|
||||||
|
setTimeout(PrintCycle, 1000);
|
||||||
|
}
|
||||||
|
PrintCycle();
|
||||||
|
//Autoprint diagram /\ /\ /\
|
||||||
|
|
||||||
|
//Update Status \/ \/ \/
|
||||||
|
function UpdateStatus() {
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open('POST', 'api/currcycles', true);
|
||||||
|
xhr.send();
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState != 4) return;
|
||||||
|
if (xhr.status != 200) {
|
||||||
|
htmlErrMSG.innerHTML = "Не удается установить соединение";
|
||||||
|
$("#Error_Border").show();
|
||||||
|
$("#Update_Button").show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$("#Error_Border").hide();
|
||||||
|
var data = JSON.parse(xhr.responseText);
|
||||||
|
if (data.currTime === undefined) {
|
||||||
|
htmlErrMSG.innerHTML = "Ошибка в полученных данных: отсутствует время сервера";
|
||||||
|
$("#Error_Border").show();
|
||||||
|
$("#Update_Button").show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
updateDateSynch(new Date());
|
||||||
|
updateDateServer(new Date(data.currTime));
|
||||||
|
|
||||||
|
if (data.data === undefined || !Array.isArray(data.data)) {
|
||||||
|
htmlErrMSG.innerHTML = "Ошибка в полученных данных: отстутствует массив днных";
|
||||||
|
$("#Error_Border").show();
|
||||||
|
$("#Update_Button").show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var p = data.data;
|
||||||
|
for (var i = 0; i < p.length; i++) {
|
||||||
|
var idx = p[i].vdp - 1;
|
||||||
|
var s = -1;
|
||||||
|
var b = -1;
|
||||||
|
switch (p[i].cycle) {
|
||||||
|
case 0: s = 0; b = -1; break;
|
||||||
|
case 1: s = 0; b = 1; break;
|
||||||
|
case 2: s = 1; b = 0; break;
|
||||||
|
case 5: s = 2; b = 0; break;
|
||||||
|
case 6: s = 3; b = 0; break;
|
||||||
|
case 7: s = 4; b = 0; break;
|
||||||
|
case 8: s = 5; b = 3; break;
|
||||||
|
case 9: s = 6; b = 3; break;
|
||||||
|
case 10: s = 7; b = 3; break;
|
||||||
|
case 11: s = 8; b = 3; break;
|
||||||
|
case 12: s = 9; b = 3; break;
|
||||||
|
case 14: s = 1; b = 1; break;
|
||||||
|
case 15: s = 2; b = 1; break;
|
||||||
|
case 16: s = 3; b = 1; break;
|
||||||
|
default: s = -1; b = -1;
|
||||||
|
}
|
||||||
|
diagram.ChangeStatProc(idx, s, 0);
|
||||||
|
diagram.ChangeStatBlink(idx, b);
|
||||||
|
diagram.StartDate(idx, new Date(p[i].factStart));
|
||||||
|
diagram.EndDate(idx, new Date(p[i].thinkEnd));
|
||||||
|
}
|
||||||
|
diagram.Cycle(true);
|
||||||
|
|
||||||
|
/*
|
||||||
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||||
|
for (var i = 1; i <= diagramStove.ProcessCount(); i++) {
|
||||||
|
diagramStove.ChangeStatBlink(i, Pech[i].Bstatus);
|
||||||
|
diagramStove.ChangeStatProc(i, Pech[i].Pstatus);
|
||||||
|
diagramStove.ChangeStartDate(i, ConvDate(Pech[i].Start));
|
||||||
|
diagramStove.ChangeEndDate(i, ConvDate(Pech[i].EndTeor));
|
||||||
|
}
|
||||||
|
var b = ConvDate(Pech[0].DateNow);
|
||||||
|
dateUpdateHTML.innerHTML =
|
||||||
|
b.getFullYear() + "." +
|
||||||
|
FNL(b.getMonth() + 1, 2) + "." +
|
||||||
|
FNL(b.getDate(), 2) + " " +
|
||||||
|
FNL(b.getHours(), 2) + ":" +
|
||||||
|
FNL(b.getMinutes(), 2) + ":" +
|
||||||
|
FNL(b.getSeconds(), 2);
|
||||||
|
if (Math.abs(b - new Date()) > 60000) {
|
||||||
|
document.getElementById("Error_Message").innerHTML = "Разница между системным и серверным временем " + Math.floor(Math.abs(b - new Date()) / 1000) + " сек";
|
||||||
|
$("#Error_Border").show();
|
||||||
|
$("#Update_Button").hide();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$("#Error_Border").hide();
|
||||||
|
*/
|
||||||
|
diagram.Print(ctx);
|
||||||
|
setTimeout(UpdateStatus, 60 * 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UpdateStatus();
|
||||||
|
|
||||||
|
function ConvDate(a) {
|
||||||
|
a = a.split(".")[0].split("T");
|
||||||
|
var d = a[0].split("-");
|
||||||
|
var h = a[1].split(":");
|
||||||
|
var date = new Date(d[0], parseInt(d[1]) - 1, d[2], h[0], h[1], h[2]);
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
update_button.onclick = function () {
|
||||||
|
UpdateStatus();
|
||||||
|
}
|
||||||
|
//Update Status /\ /\ /\
|
||||||
|
|
||||||
|
|
||||||
|
//End Update Status
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//End Show Date Now
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="html5-shiv" version="3.7.3" targetFramework="net40" />
|
|
||||||
<package id="jQuery" version="3.3.1" targetFramework="net40" />
|
|
||||||
</packages>
|
|
@ -1,524 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
;(function(window, document) {
|
|
||||||
/*jshint evil:true */
|
|
||||||
/** version */
|
|
||||||
var version = '3.7.3';
|
|
||||||
|
|
||||||
/** Preset options */
|
|
||||||
var options = window.html5 || {};
|
|
||||||
|
|
||||||
/** Used to skip problem elements */
|
|
||||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
|
||||||
|
|
||||||
/** Not all elements can be cloned in IE **/
|
|
||||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
|
||||||
|
|
||||||
/** Detect whether the browser supports default html5 styles */
|
|
||||||
var supportsHtml5Styles;
|
|
||||||
|
|
||||||
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
|
||||||
var expando = '_html5shiv';
|
|
||||||
|
|
||||||
/** The id for the the documents expando */
|
|
||||||
var expanID = 0;
|
|
||||||
|
|
||||||
/** Cached data for each document */
|
|
||||||
var expandoData = {};
|
|
||||||
|
|
||||||
/** Detect whether the browser supports unknown elements */
|
|
||||||
var supportsUnknownElements;
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
try {
|
|
||||||
var a = document.createElement('a');
|
|
||||||
a.innerHTML = '<xyz></xyz>';
|
|
||||||
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
|
||||||
supportsHtml5Styles = ('hidden' in a);
|
|
||||||
|
|
||||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
|
||||||
// assign a false positive if unable to shiv
|
|
||||||
(document.createElement)('a');
|
|
||||||
var frag = document.createDocumentFragment();
|
|
||||||
return (
|
|
||||||
typeof frag.cloneNode == 'undefined' ||
|
|
||||||
typeof frag.createDocumentFragment == 'undefined' ||
|
|
||||||
typeof frag.createElement == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
} catch(e) {
|
|
||||||
// assign a false positive if detection fails => unable to shiv
|
|
||||||
supportsHtml5Styles = true;
|
|
||||||
supportsUnknownElements = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @param {String} cssText The CSS text.
|
|
||||||
* @returns {StyleSheet} The style element.
|
|
||||||
*/
|
|
||||||
function addStyleSheet(ownerDocument, cssText) {
|
|
||||||
var p = ownerDocument.createElement('p'),
|
|
||||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
|
||||||
|
|
||||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
|
||||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the value of `html5.elements` as an array.
|
|
||||||
* @private
|
|
||||||
* @returns {Array} An array of shived element node names.
|
|
||||||
*/
|
|
||||||
function getElements() {
|
|
||||||
var elements = html5.elements;
|
|
||||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends the built-in list of html5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
*/
|
|
||||||
function addElements(newElements, ownerDocument) {
|
|
||||||
var elements = html5.elements;
|
|
||||||
if(typeof elements != 'string'){
|
|
||||||
elements = elements.join(' ');
|
|
||||||
}
|
|
||||||
if(typeof newElements != 'string'){
|
|
||||||
newElements = newElements.join(' ');
|
|
||||||
}
|
|
||||||
html5.elements = elements +' '+ newElements;
|
|
||||||
shivDocument(ownerDocument);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the data associated to the given document
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Object} An object of data.
|
|
||||||
*/
|
|
||||||
function getExpandoData(ownerDocument) {
|
|
||||||
var data = expandoData[ownerDocument[expando]];
|
|
||||||
if (!data) {
|
|
||||||
data = {};
|
|
||||||
expanID++;
|
|
||||||
ownerDocument[expando] = expanID;
|
|
||||||
expandoData[expanID] = data;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived element for the given nodeName and document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String} nodeName name of the element
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived element.
|
|
||||||
*/
|
|
||||||
function createElement(nodeName, ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createElement(nodeName);
|
|
||||||
}
|
|
||||||
if (!data) {
|
|
||||||
data = getExpandoData(ownerDocument);
|
|
||||||
}
|
|
||||||
var node;
|
|
||||||
|
|
||||||
if (data.cache[nodeName]) {
|
|
||||||
node = data.cache[nodeName].cloneNode();
|
|
||||||
} else if (saveClones.test(nodeName)) {
|
|
||||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
|
||||||
} else {
|
|
||||||
node = data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Avoid adding some elements to fragments in IE < 9 because
|
|
||||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
|
||||||
// is inserted into a document/fragment
|
|
||||||
// * Link elements with `src` attributes that are inaccessible, as with
|
|
||||||
// a 403 response, will cause the tab/window to crash
|
|
||||||
// * Script elements appended to fragments will execute when their `src`
|
|
||||||
// or `text` property is set
|
|
||||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived DocumentFragment for the given document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived DocumentFragment.
|
|
||||||
*/
|
|
||||||
function createDocumentFragment(ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createDocumentFragment();
|
|
||||||
}
|
|
||||||
data = data || getExpandoData(ownerDocument);
|
|
||||||
var clone = data.frag.cloneNode(),
|
|
||||||
i = 0,
|
|
||||||
elems = getElements(),
|
|
||||||
l = elems.length;
|
|
||||||
for(;i<l;i++){
|
|
||||||
clone.createElement(elems[i]);
|
|
||||||
}
|
|
||||||
return clone;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
|
||||||
* @param {Object} data of the document.
|
|
||||||
*/
|
|
||||||
function shivMethods(ownerDocument, data) {
|
|
||||||
if (!data.cache) {
|
|
||||||
data.cache = {};
|
|
||||||
data.createElem = ownerDocument.createElement;
|
|
||||||
data.createFrag = ownerDocument.createDocumentFragment;
|
|
||||||
data.frag = data.createFrag();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ownerDocument.createElement = function(nodeName) {
|
|
||||||
//abort shiv
|
|
||||||
if (!html5.shivMethods) {
|
|
||||||
return data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
return createElement(nodeName, ownerDocument, data);
|
|
||||||
};
|
|
||||||
|
|
||||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
|
||||||
'var n=f.cloneNode(),c=n.createElement;' +
|
|
||||||
'h.shivMethods&&(' +
|
|
||||||
// unroll the `createElement` calls
|
|
||||||
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
|
||||||
data.createElem(nodeName);
|
|
||||||
data.frag.createElement(nodeName);
|
|
||||||
return 'c("' + nodeName + '")';
|
|
||||||
}) +
|
|
||||||
');return n}'
|
|
||||||
)(html5, data.frag);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivDocument(ownerDocument) {
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
var data = getExpandoData(ownerDocument);
|
|
||||||
|
|
||||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
|
||||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
|
||||||
// corrects block display not defined in IE6/7/8/9
|
|
||||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
|
||||||
// adds styling not present in IE6/7/8/9
|
|
||||||
'mark{background:#FF0;color:#000}' +
|
|
||||||
// hides non-rendered elements
|
|
||||||
'template{display:none}'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (!supportsUnknownElements) {
|
|
||||||
shivMethods(ownerDocument, data);
|
|
||||||
}
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The `html5` object is exposed so that more elements can be shived and
|
|
||||||
* existing shiving can be detected on iframes.
|
|
||||||
* @type Object
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* // options can be changed before the script is included
|
|
||||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
|
||||||
*/
|
|
||||||
var html5 = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array or space separated string of node names of the elements to shiv.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Array|String
|
|
||||||
*/
|
|
||||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
|
||||||
|
|
||||||
/**
|
|
||||||
* current version of html5shiv
|
|
||||||
*/
|
|
||||||
'version': version,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivCSS': (options.shivCSS !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @type boolean
|
|
||||||
*/
|
|
||||||
'supportsUnknownElements': supportsUnknownElements,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
|
||||||
* methods should be overwritten.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivMethods': (options.shivMethods !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A string to describe the type of `html5` object ("default" or "default print").
|
|
||||||
* @memberOf html5
|
|
||||||
* @type String
|
|
||||||
*/
|
|
||||||
'type': 'default',
|
|
||||||
|
|
||||||
// shivs the document according to the specified `html5` object options
|
|
||||||
'shivDocument': shivDocument,
|
|
||||||
|
|
||||||
//creates a shived element
|
|
||||||
createElement: createElement,
|
|
||||||
|
|
||||||
//creates a shived documentFragment
|
|
||||||
createDocumentFragment: createDocumentFragment,
|
|
||||||
|
|
||||||
//extends list of elements
|
|
||||||
addElements: addElements
|
|
||||||
};
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose html5
|
|
||||||
window.html5 = html5;
|
|
||||||
|
|
||||||
// shiv the document
|
|
||||||
shivDocument(document);
|
|
||||||
|
|
||||||
/*------------------------------- Print Shiv -------------------------------*/
|
|
||||||
|
|
||||||
/** Used to filter media types */
|
|
||||||
var reMedia = /^$|\b(?:all|print)\b/;
|
|
||||||
|
|
||||||
/** Used to namespace printable elements */
|
|
||||||
var shivNamespace = 'html5shiv';
|
|
||||||
|
|
||||||
/** Detect whether the browser supports shivable style sheets */
|
|
||||||
var supportsShivableSheets = !supportsUnknownElements && (function() {
|
|
||||||
// assign a false negative if unable to shiv
|
|
||||||
var docEl = document.documentElement;
|
|
||||||
return !(
|
|
||||||
typeof document.namespaces == 'undefined' ||
|
|
||||||
typeof document.parentWindow == 'undefined' ||
|
|
||||||
typeof docEl.applyElement == 'undefined' ||
|
|
||||||
typeof docEl.removeNode == 'undefined' ||
|
|
||||||
typeof window.attachEvent == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wraps all HTML5 elements in the given document with printable elements.
|
|
||||||
* (eg. the "header" element is wrapped with the "html5shiv:header" element)
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Array} An array wrappers added.
|
|
||||||
*/
|
|
||||||
function addWrappers(ownerDocument) {
|
|
||||||
var node,
|
|
||||||
nodes = ownerDocument.getElementsByTagName('*'),
|
|
||||||
index = nodes.length,
|
|
||||||
reElements = RegExp('^(?:' + getElements().join('|') + ')$', 'i'),
|
|
||||||
result = [];
|
|
||||||
|
|
||||||
while (index--) {
|
|
||||||
node = nodes[index];
|
|
||||||
if (reElements.test(node.nodeName)) {
|
|
||||||
result.push(node.applyElement(createWrapper(node)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a printable wrapper for the given element.
|
|
||||||
* @private
|
|
||||||
* @param {Element} element The element.
|
|
||||||
* @returns {Element} The wrapper.
|
|
||||||
*/
|
|
||||||
function createWrapper(element) {
|
|
||||||
var node,
|
|
||||||
nodes = element.attributes,
|
|
||||||
index = nodes.length,
|
|
||||||
wrapper = element.ownerDocument.createElement(shivNamespace + ':' + element.nodeName);
|
|
||||||
|
|
||||||
// copy element attributes to the wrapper
|
|
||||||
while (index--) {
|
|
||||||
node = nodes[index];
|
|
||||||
node.specified && wrapper.setAttribute(node.nodeName, node.nodeValue);
|
|
||||||
}
|
|
||||||
// copy element styles to the wrapper
|
|
||||||
wrapper.style.cssText = element.style.cssText;
|
|
||||||
return wrapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given CSS text.
|
|
||||||
* (eg. header{} becomes html5shiv\:header{})
|
|
||||||
* @private
|
|
||||||
* @param {String} cssText The CSS text to shiv.
|
|
||||||
* @returns {String} The shived CSS text.
|
|
||||||
*/
|
|
||||||
function shivCssText(cssText) {
|
|
||||||
var pair,
|
|
||||||
parts = cssText.split('{'),
|
|
||||||
index = parts.length,
|
|
||||||
reElements = RegExp('(^|[\\s,>+~])(' + getElements().join('|') + ')(?=[[\\s,>+~#.:]|$)', 'gi'),
|
|
||||||
replacement = '$1' + shivNamespace + '\\:$2';
|
|
||||||
|
|
||||||
while (index--) {
|
|
||||||
pair = parts[index] = parts[index].split('}');
|
|
||||||
pair[pair.length - 1] = pair[pair.length - 1].replace(reElements, replacement);
|
|
||||||
parts[index] = pair.join('}');
|
|
||||||
}
|
|
||||||
return parts.join('{');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes the given wrappers, leaving the original elements.
|
|
||||||
* @private
|
|
||||||
* @params {Array} wrappers An array of printable wrappers.
|
|
||||||
*/
|
|
||||||
function removeWrappers(wrappers) {
|
|
||||||
var index = wrappers.length;
|
|
||||||
while (index--) {
|
|
||||||
wrappers[index].removeNode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document for print.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivPrint(ownerDocument) {
|
|
||||||
var shivedSheet,
|
|
||||||
wrappers,
|
|
||||||
data = getExpandoData(ownerDocument),
|
|
||||||
namespaces = ownerDocument.namespaces,
|
|
||||||
ownerWindow = ownerDocument.parentWindow;
|
|
||||||
|
|
||||||
if (!supportsShivableSheets || ownerDocument.printShived) {
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
if (typeof namespaces[shivNamespace] == 'undefined') {
|
|
||||||
namespaces.add(shivNamespace);
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeSheet() {
|
|
||||||
clearTimeout(data._removeSheetTimer);
|
|
||||||
if (shivedSheet) {
|
|
||||||
shivedSheet.removeNode(true);
|
|
||||||
}
|
|
||||||
shivedSheet= null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ownerWindow.attachEvent('onbeforeprint', function() {
|
|
||||||
|
|
||||||
removeSheet();
|
|
||||||
|
|
||||||
var imports,
|
|
||||||
length,
|
|
||||||
sheet,
|
|
||||||
collection = ownerDocument.styleSheets,
|
|
||||||
cssText = [],
|
|
||||||
index = collection.length,
|
|
||||||
sheets = Array(index);
|
|
||||||
|
|
||||||
// convert styleSheets collection to an array
|
|
||||||
while (index--) {
|
|
||||||
sheets[index] = collection[index];
|
|
||||||
}
|
|
||||||
// concat all style sheet CSS text
|
|
||||||
while ((sheet = sheets.pop())) {
|
|
||||||
// IE does not enforce a same origin policy for external style sheets...
|
|
||||||
// but has trouble with some dynamically created stylesheets
|
|
||||||
if (!sheet.disabled && reMedia.test(sheet.media)) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
imports = sheet.imports;
|
|
||||||
length = imports.length;
|
|
||||||
} catch(er){
|
|
||||||
length = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (index = 0; index < length; index++) {
|
|
||||||
sheets.push(imports[index]);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
cssText.push(sheet.cssText);
|
|
||||||
} catch(er){}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// wrap all HTML5 elements with printable elements and add the shived style sheet
|
|
||||||
cssText = shivCssText(cssText.reverse().join(''));
|
|
||||||
wrappers = addWrappers(ownerDocument);
|
|
||||||
shivedSheet = addStyleSheet(ownerDocument, cssText);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
ownerWindow.attachEvent('onafterprint', function() {
|
|
||||||
// remove wrappers, leaving the original elements, and remove the shived style sheet
|
|
||||||
removeWrappers(wrappers);
|
|
||||||
clearTimeout(data._removeSheetTimer);
|
|
||||||
data._removeSheetTimer = setTimeout(removeSheet, 500);
|
|
||||||
});
|
|
||||||
|
|
||||||
ownerDocument.printShived = true;
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose API
|
|
||||||
html5.type += ' print';
|
|
||||||
html5.shivPrint = shivPrint;
|
|
||||||
|
|
||||||
// shiv for print
|
|
||||||
shivPrint(document);
|
|
||||||
|
|
||||||
if(typeof module == 'object' && module.exports){
|
|
||||||
module.exports = html5;
|
|
||||||
}
|
|
||||||
|
|
||||||
}(typeof window !== "undefined" ? window : this, document));
|
|
@ -1,4 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
|
@ -1,326 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
;(function(window, document) {
|
|
||||||
/*jshint evil:true */
|
|
||||||
/** version */
|
|
||||||
var version = '3.7.3';
|
|
||||||
|
|
||||||
/** Preset options */
|
|
||||||
var options = window.html5 || {};
|
|
||||||
|
|
||||||
/** Used to skip problem elements */
|
|
||||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
|
||||||
|
|
||||||
/** Not all elements can be cloned in IE **/
|
|
||||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
|
||||||
|
|
||||||
/** Detect whether the browser supports default html5 styles */
|
|
||||||
var supportsHtml5Styles;
|
|
||||||
|
|
||||||
/** Name of the expando, to work with multiple documents or to re-shiv one document */
|
|
||||||
var expando = '_html5shiv';
|
|
||||||
|
|
||||||
/** The id for the the documents expando */
|
|
||||||
var expanID = 0;
|
|
||||||
|
|
||||||
/** Cached data for each document */
|
|
||||||
var expandoData = {};
|
|
||||||
|
|
||||||
/** Detect whether the browser supports unknown elements */
|
|
||||||
var supportsUnknownElements;
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
try {
|
|
||||||
var a = document.createElement('a');
|
|
||||||
a.innerHTML = '<xyz></xyz>';
|
|
||||||
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
|
|
||||||
supportsHtml5Styles = ('hidden' in a);
|
|
||||||
|
|
||||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
|
||||||
// assign a false positive if unable to shiv
|
|
||||||
(document.createElement)('a');
|
|
||||||
var frag = document.createDocumentFragment();
|
|
||||||
return (
|
|
||||||
typeof frag.cloneNode == 'undefined' ||
|
|
||||||
typeof frag.createDocumentFragment == 'undefined' ||
|
|
||||||
typeof frag.createElement == 'undefined'
|
|
||||||
);
|
|
||||||
}());
|
|
||||||
} catch(e) {
|
|
||||||
// assign a false positive if detection fails => unable to shiv
|
|
||||||
supportsHtml5Styles = true;
|
|
||||||
supportsUnknownElements = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @param {String} cssText The CSS text.
|
|
||||||
* @returns {StyleSheet} The style element.
|
|
||||||
*/
|
|
||||||
function addStyleSheet(ownerDocument, cssText) {
|
|
||||||
var p = ownerDocument.createElement('p'),
|
|
||||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
|
||||||
|
|
||||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
|
||||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the value of `html5.elements` as an array.
|
|
||||||
* @private
|
|
||||||
* @returns {Array} An array of shived element node names.
|
|
||||||
*/
|
|
||||||
function getElements() {
|
|
||||||
var elements = html5.elements;
|
|
||||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends the built-in list of html5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
*/
|
|
||||||
function addElements(newElements, ownerDocument) {
|
|
||||||
var elements = html5.elements;
|
|
||||||
if(typeof elements != 'string'){
|
|
||||||
elements = elements.join(' ');
|
|
||||||
}
|
|
||||||
if(typeof newElements != 'string'){
|
|
||||||
newElements = newElements.join(' ');
|
|
||||||
}
|
|
||||||
html5.elements = elements +' '+ newElements;
|
|
||||||
shivDocument(ownerDocument);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the data associated to the given document
|
|
||||||
* @private
|
|
||||||
* @param {Document} ownerDocument The document.
|
|
||||||
* @returns {Object} An object of data.
|
|
||||||
*/
|
|
||||||
function getExpandoData(ownerDocument) {
|
|
||||||
var data = expandoData[ownerDocument[expando]];
|
|
||||||
if (!data) {
|
|
||||||
data = {};
|
|
||||||
expanID++;
|
|
||||||
ownerDocument[expando] = expanID;
|
|
||||||
expandoData[expanID] = data;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived element for the given nodeName and document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {String} nodeName name of the element
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived element.
|
|
||||||
*/
|
|
||||||
function createElement(nodeName, ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createElement(nodeName);
|
|
||||||
}
|
|
||||||
if (!data) {
|
|
||||||
data = getExpandoData(ownerDocument);
|
|
||||||
}
|
|
||||||
var node;
|
|
||||||
|
|
||||||
if (data.cache[nodeName]) {
|
|
||||||
node = data.cache[nodeName].cloneNode();
|
|
||||||
} else if (saveClones.test(nodeName)) {
|
|
||||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
|
||||||
} else {
|
|
||||||
node = data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Avoid adding some elements to fragments in IE < 9 because
|
|
||||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
|
||||||
// is inserted into a document/fragment
|
|
||||||
// * Link elements with `src` attributes that are inaccessible, as with
|
|
||||||
// a 403 response, will cause the tab/window to crash
|
|
||||||
// * Script elements appended to fragments will execute when their `src`
|
|
||||||
// or `text` property is set
|
|
||||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns a shived DocumentFragment for the given document
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The context document.
|
|
||||||
* @returns {Object} The shived DocumentFragment.
|
|
||||||
*/
|
|
||||||
function createDocumentFragment(ownerDocument, data){
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
if(supportsUnknownElements){
|
|
||||||
return ownerDocument.createDocumentFragment();
|
|
||||||
}
|
|
||||||
data = data || getExpandoData(ownerDocument);
|
|
||||||
var clone = data.frag.cloneNode(),
|
|
||||||
i = 0,
|
|
||||||
elems = getElements(),
|
|
||||||
l = elems.length;
|
|
||||||
for(;i<l;i++){
|
|
||||||
clone.createElement(elems[i]);
|
|
||||||
}
|
|
||||||
return clone;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
|
||||||
* @private
|
|
||||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
|
||||||
* @param {Object} data of the document.
|
|
||||||
*/
|
|
||||||
function shivMethods(ownerDocument, data) {
|
|
||||||
if (!data.cache) {
|
|
||||||
data.cache = {};
|
|
||||||
data.createElem = ownerDocument.createElement;
|
|
||||||
data.createFrag = ownerDocument.createDocumentFragment;
|
|
||||||
data.frag = data.createFrag();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ownerDocument.createElement = function(nodeName) {
|
|
||||||
//abort shiv
|
|
||||||
if (!html5.shivMethods) {
|
|
||||||
return data.createElem(nodeName);
|
|
||||||
}
|
|
||||||
return createElement(nodeName, ownerDocument, data);
|
|
||||||
};
|
|
||||||
|
|
||||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
|
||||||
'var n=f.cloneNode(),c=n.createElement;' +
|
|
||||||
'h.shivMethods&&(' +
|
|
||||||
// unroll the `createElement` calls
|
|
||||||
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
|
|
||||||
data.createElem(nodeName);
|
|
||||||
data.frag.createElement(nodeName);
|
|
||||||
return 'c("' + nodeName + '")';
|
|
||||||
}) +
|
|
||||||
');return n}'
|
|
||||||
)(html5, data.frag);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shivs the given document.
|
|
||||||
* @memberOf html5
|
|
||||||
* @param {Document} ownerDocument The document to shiv.
|
|
||||||
* @returns {Document} The shived document.
|
|
||||||
*/
|
|
||||||
function shivDocument(ownerDocument) {
|
|
||||||
if (!ownerDocument) {
|
|
||||||
ownerDocument = document;
|
|
||||||
}
|
|
||||||
var data = getExpandoData(ownerDocument);
|
|
||||||
|
|
||||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
|
||||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
|
||||||
// corrects block display not defined in IE6/7/8/9
|
|
||||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
|
||||||
// adds styling not present in IE6/7/8/9
|
|
||||||
'mark{background:#FF0;color:#000}' +
|
|
||||||
// hides non-rendered elements
|
|
||||||
'template{display:none}'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (!supportsUnknownElements) {
|
|
||||||
shivMethods(ownerDocument, data);
|
|
||||||
}
|
|
||||||
return ownerDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The `html5` object is exposed so that more elements can be shived and
|
|
||||||
* existing shiving can be detected on iframes.
|
|
||||||
* @type Object
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* // options can be changed before the script is included
|
|
||||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
|
||||||
*/
|
|
||||||
var html5 = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An array or space separated string of node names of the elements to shiv.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Array|String
|
|
||||||
*/
|
|
||||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
|
|
||||||
|
|
||||||
/**
|
|
||||||
* current version of html5shiv
|
|
||||||
*/
|
|
||||||
'version': version,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivCSS': (options.shivCSS !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Is equal to true if a browser supports creating unknown/HTML5 elements
|
|
||||||
* @memberOf html5
|
|
||||||
* @type boolean
|
|
||||||
*/
|
|
||||||
'supportsUnknownElements': supportsUnknownElements,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
|
||||||
* methods should be overwritten.
|
|
||||||
* @memberOf html5
|
|
||||||
* @type Boolean
|
|
||||||
*/
|
|
||||||
'shivMethods': (options.shivMethods !== false),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A string to describe the type of `html5` object ("default" or "default print").
|
|
||||||
* @memberOf html5
|
|
||||||
* @type String
|
|
||||||
*/
|
|
||||||
'type': 'default',
|
|
||||||
|
|
||||||
// shivs the document according to the specified `html5` object options
|
|
||||||
'shivDocument': shivDocument,
|
|
||||||
|
|
||||||
//creates a shived element
|
|
||||||
createElement: createElement,
|
|
||||||
|
|
||||||
//creates a shived documentFragment
|
|
||||||
createDocumentFragment: createDocumentFragment,
|
|
||||||
|
|
||||||
//extends list of elements
|
|
||||||
addElements: addElements
|
|
||||||
};
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// expose html5
|
|
||||||
window.html5 = html5;
|
|
||||||
|
|
||||||
// shiv the document
|
|
||||||
shivDocument(document);
|
|
||||||
|
|
||||||
if(typeof module == 'object' && module.exports){
|
|
||||||
module.exports = html5;
|
|
||||||
}
|
|
||||||
|
|
||||||
}(typeof window !== "undefined" ? window : this, document));
|
|
@ -1,4 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,117 +0,0 @@
|
|||||||
function Get-Checksum($file) {
|
|
||||||
$cryptoProvider = New-Object "System.Security.Cryptography.MD5CryptoServiceProvider"
|
|
||||||
|
|
||||||
$fileInfo = Get-Item $file
|
|
||||||
trap { ;
|
|
||||||
continue } $stream = $fileInfo.OpenRead()
|
|
||||||
if ($? -eq $false) {
|
|
||||||
# Couldn't open file for reading
|
|
||||||
return $null
|
|
||||||
}
|
|
||||||
|
|
||||||
$bytes = $cryptoProvider.ComputeHash($stream)
|
|
||||||
$checksum = ''
|
|
||||||
foreach ($byte in $bytes) {
|
|
||||||
$checksum += $byte.ToString('x2')
|
|
||||||
}
|
|
||||||
|
|
||||||
$stream.Close() | Out-Null
|
|
||||||
|
|
||||||
return $checksum
|
|
||||||
}
|
|
||||||
|
|
||||||
function AddOrUpdate-Reference($scriptsFolderProjectItem, $fileNamePattern, $newFileName) {
|
|
||||||
try {
|
|
||||||
$referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js")
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# _references.js file not found
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($referencesFileProjectItem -eq $null) {
|
|
||||||
# _references.js file not found
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
$referencesFilePath = $referencesFileProjectItem.FileNames(1)
|
|
||||||
$referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js"
|
|
||||||
|
|
||||||
if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 0) {
|
|
||||||
# File has no existing matching reference line
|
|
||||||
# Add the full reference line to the beginning of the file
|
|
||||||
"/// <reference path=""$newFileName"" />" | Add-Content $referencesTempFilePath -Encoding UTF8
|
|
||||||
Get-Content $referencesFilePath | Add-Content $referencesTempFilePath
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# Loop through file and replace old file name with new file name
|
|
||||||
Get-Content $referencesFilePath | ForEach-Object { $_ -replace $fileNamePattern, $newFileName } > $referencesTempFilePath
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy over the new _references.js file
|
|
||||||
Copy-Item $referencesTempFilePath $referencesFilePath -Force
|
|
||||||
Remove-Item $referencesTempFilePath -Force
|
|
||||||
}
|
|
||||||
|
|
||||||
function Remove-Reference($scriptsFolderProjectItem, $fileNamePattern) {
|
|
||||||
try {
|
|
||||||
$referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js")
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# _references.js file not found
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($referencesFileProjectItem -eq $null) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
$referencesFilePath = $referencesFileProjectItem.FileNames(1)
|
|
||||||
$referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js"
|
|
||||||
|
|
||||||
if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 1) {
|
|
||||||
# Delete the line referencing the file
|
|
||||||
Get-Content $referencesFilePath | ForEach-Object { if (-not ($_ -match $fileNamePattern)) { $_ } } > $referencesTempFilePath
|
|
||||||
|
|
||||||
# Copy over the new _references.js file
|
|
||||||
Copy-Item $referencesTempFilePath $referencesFilePath -Force
|
|
||||||
Remove-Item $referencesTempFilePath -Force
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Delete-ProjectItem($item) {
|
|
||||||
$itemDeleted = $false
|
|
||||||
for ($1=1; $i -le 5; $i++) {
|
|
||||||
try {
|
|
||||||
$item.Delete()
|
|
||||||
$itemDeleted = $true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# Try again in 200ms
|
|
||||||
[System.Threading.Thread]::Sleep(200)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($itemDeleted -eq $false) {
|
|
||||||
throw "Unable to delete project item after five attempts."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Extract the version number from the jquery file in the package's content\scripts folder
|
|
||||||
$packageScriptsFolder = Join-Path $installPath Content\Scripts
|
|
||||||
$jqueryFileName = Join-Path $packageScriptsFolder "jquery-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js","*.slim.js" | Split-Path -Leaf
|
|
||||||
$jqueryFileNameRegEx = "jquery-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js"
|
|
||||||
$jqueryFileName -match $jqueryFileNameRegEx
|
|
||||||
$ver = $matches[1]
|
|
||||||
|
|
||||||
$intelliSenseFileName = "jquery-$ver.intellisense.js"
|
|
||||||
|
|
||||||
# Get the project item for the scripts folder
|
|
||||||
try {
|
|
||||||
$scriptsFolderProjectItem = $project.ProjectItems.Item("Scripts")
|
|
||||||
$projectScriptsFolderPath = $scriptsFolderProjectItem.FileNames(1)
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# No Scripts folder
|
|
||||||
Write-Host "No scripts folder found"
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
param($installPath, $toolsPath, $package, $project)
|
|
||||||
|
|
||||||
. (Join-Path $toolsPath common.ps1)
|
|
||||||
|
|
||||||
# VS 11 and above supports the new intellisense JS files
|
|
||||||
$vsVersion = [System.Version]::Parse($dte.Version)
|
|
||||||
$supportsJsIntelliSenseFile = $vsVersion.Major -ge 11
|
|
||||||
|
|
||||||
if (-not $supportsJsIntelliSenseFile) {
|
|
||||||
$displayVersion = $vsVersion.Major
|
|
||||||
Write-Host "IntelliSense JS files are not supported by your version of Visual Studio: $displayVersion"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($scriptsFolderProjectItem -eq $null) {
|
|
||||||
# No Scripts folder
|
|
||||||
Write-Host "No Scripts folder found"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# Delete the vsdoc file from the project
|
|
||||||
try {
|
|
||||||
$vsDocProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("jquery-$ver-vsdoc.js")
|
|
||||||
Delete-ProjectItem $vsDocProjectItem
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Host "Error deleting vsdoc file: " + $_.Exception -ForegroundColor Red
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy the intellisense file to the project from the tools folder
|
|
||||||
$intelliSenseFileSourcePath = Join-Path $toolsPath $intelliSenseFileName
|
|
||||||
try {
|
|
||||||
$scriptsFolderProjectItem.ProjectItems.AddFromFileCopy($intelliSenseFileSourcePath)
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# This will throw if the file already exists, so we need to catch here
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update the _references.js file
|
|
||||||
AddOrUpdate-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx $jqueryFileName
|
|
File diff suppressed because it is too large
Load Diff
@ -1,41 +0,0 @@
|
|||||||
param($installPath, $toolsPath, $package, $project)
|
|
||||||
|
|
||||||
. (Join-Path $toolsPath common.ps1)
|
|
||||||
|
|
||||||
# Determine the file paths
|
|
||||||
$projectIntelliSenseFilePath = Join-Path $projectScriptsFolderPath $intelliSenseFileName
|
|
||||||
$origIntelliSenseFilePath = Join-Path $toolsPath $intelliSenseFileName
|
|
||||||
|
|
||||||
if (Test-Path $projectIntelliSenseFilePath) {
|
|
||||||
if ((Get-Checksum $projectIntelliSenseFilePath) -eq (Get-Checksum $origIntelliSenseFilePath)) {
|
|
||||||
# The intellisense file in the project matches the file in the tools folder, delete it
|
|
||||||
|
|
||||||
if ($scriptsFolderProjectItem -eq $null) {
|
|
||||||
# No Scripts folder
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
# Get the project item for the intellisense file
|
|
||||||
$intelliSenseFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item($intelliSenseFileName)
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
# The item wasn't found
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# Delete the project item
|
|
||||||
Delete-ProjectItem $intelliSenseFileProjectItem
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$projectScriptsFolderLeaf = Split-Path $projectScriptsFolderPath -Leaf
|
|
||||||
Write-Host "Skipping '$projectScriptsFolderLeaf\$intelliSenseFileName' because it was modified." -ForegroundColor Magenta
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# The intellisense file was not found in project
|
|
||||||
Write-Host "The intellisense file was not found in project at path $projectIntelliSenseFilePath"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update the _references.js file
|
|
||||||
Remove-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user