first
commit
f64ffdfe4a
|
|
@ -0,0 +1,29 @@
|
|||
HELP.md
|
||||
/target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.ReadableByteChannel;
|
||||
import java.util.Properties;
|
||||
|
||||
public class MavenWrapperDownloader {
|
||||
|
||||
/**
|
||||
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
|
||||
*/
|
||||
private static final String DEFAULT_DOWNLOAD_URL =
|
||||
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
|
||||
|
||||
/**
|
||||
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
|
||||
* use instead of the default one.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
|
||||
".mvn/wrapper/maven-wrapper.properties";
|
||||
|
||||
/**
|
||||
* Path where the maven-wrapper.jar will be saved to.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_JAR_PATH =
|
||||
".mvn/wrapper/maven-wrapper.jar";
|
||||
|
||||
/**
|
||||
* Name of the property which should be used to override the default download url for the wrapper.
|
||||
*/
|
||||
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
|
||||
|
||||
public static void main(String args[]) {
|
||||
System.out.println("- Downloader started");
|
||||
File baseDirectory = new File(args[0]);
|
||||
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
|
||||
|
||||
// If the maven-wrapper.properties exists, read it and check if it contains a custom
|
||||
// wrapperUrl parameter.
|
||||
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
|
||||
String url = DEFAULT_DOWNLOAD_URL;
|
||||
if(mavenWrapperPropertyFile.exists()) {
|
||||
FileInputStream mavenWrapperPropertyFileInputStream = null;
|
||||
try {
|
||||
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
|
||||
Properties mavenWrapperProperties = new Properties();
|
||||
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
|
||||
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
|
||||
} catch (IOException e) {
|
||||
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
|
||||
} finally {
|
||||
try {
|
||||
if(mavenWrapperPropertyFileInputStream != null) {
|
||||
mavenWrapperPropertyFileInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Ignore ...
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading from: : " + url);
|
||||
|
||||
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
|
||||
if(!outputFile.getParentFile().exists()) {
|
||||
if(!outputFile.getParentFile().mkdirs()) {
|
||||
System.out.println(
|
||||
"- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
|
||||
try {
|
||||
downloadFileFromURL(url, outputFile);
|
||||
System.out.println("Done");
|
||||
System.exit(0);
|
||||
} catch (Throwable e) {
|
||||
System.out.println("- Error downloading");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
|
||||
URL website = new URL(urlString);
|
||||
ReadableByteChannel rbc;
|
||||
rbc = Channels.newChannel(website.openStream());
|
||||
FileOutputStream fos = new FileOutputStream(destination);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
rbc.close();
|
||||
}
|
||||
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
|
||||
|
|
@ -0,0 +1 @@
|
|||
12
|
||||
|
|
@ -0,0 +1 @@
|
|||
12
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,98 @@
|
|||
package kr.co.i4way.genesys.config;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.genesyslab.platform.applicationblocks.com.ConfigException;
|
||||
import com.genesyslab.platform.applicationblocks.com.IConfService;
|
||||
import com.genesyslab.platform.applicationblocks.com.objects.CfgAgentGroup;
|
||||
import com.genesyslab.platform.applicationblocks.com.objects.CfgPerson;
|
||||
import com.genesyslab.platform.applicationblocks.com.queries.CfgAgentGroupQuery;
|
||||
import com.genesyslab.platform.applicationblocks.com.queries.CfgPersonQuery;
|
||||
|
||||
public class AgentGroup {
|
||||
|
||||
public AgentGroup(){
|
||||
}
|
||||
|
||||
/**
|
||||
* AgentGroup을 조회한다.
|
||||
* @param iTenantDBID
|
||||
* @param service
|
||||
* @return
|
||||
* @throws ConfigException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
public Collection<CfgAgentGroup> SelectAgentGroup(
|
||||
int iTenantDBID,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
CfgAgentGroupQuery agentgroupquery = new CfgAgentGroupQuery();
|
||||
agentgroupquery.setTenantDbid(iTenantDBID);
|
||||
Collection<CfgAgentGroup> agentgroups = service.retrieveMultipleObjects(CfgAgentGroup.class,
|
||||
agentgroupquery);
|
||||
|
||||
return agentgroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* AgentGroup을 조회한다.
|
||||
* @param iTenantDBID
|
||||
* @param sEmployeeId
|
||||
* @param service
|
||||
* @return
|
||||
* @throws ConfigException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
public Collection<CfgAgentGroup> SelectAgentGroup(
|
||||
int iTenantDBID,
|
||||
String sGroupName,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
CfgAgentGroupQuery agentgroupquery = new CfgAgentGroupQuery();
|
||||
agentgroupquery.setTenantDbid(iTenantDBID);
|
||||
agentgroupquery.setName(sGroupName);
|
||||
Collection<CfgAgentGroup> agentgroups = service.retrieveMultipleObjects(CfgAgentGroup.class,
|
||||
agentgroupquery);
|
||||
|
||||
return agentgroups;
|
||||
}
|
||||
|
||||
public CfgAgentGroup SelectAgentGroup(
|
||||
int iTenantDBID,
|
||||
int iDbid,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
CfgAgentGroup rtnAgentGroup = null;
|
||||
CfgAgentGroupQuery agentgroupquery = new CfgAgentGroupQuery();
|
||||
agentgroupquery.setTenantDbid(iTenantDBID);
|
||||
agentgroupquery.setDbid(iDbid);
|
||||
Collection<CfgAgentGroup> agentgroups = service.retrieveMultipleObjects(CfgAgentGroup.class,
|
||||
agentgroupquery);
|
||||
for(CfgAgentGroup agentgroup : agentgroups){
|
||||
rtnAgentGroup = agentgroup;
|
||||
}
|
||||
|
||||
return rtnAgentGroup;
|
||||
}
|
||||
|
||||
|
||||
public Collection<CfgPerson> SelectPersonInGroup(
|
||||
int iTenantDBID,
|
||||
int iGroupDBID,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
CfgPersonQuery personquery = new CfgPersonQuery();
|
||||
personquery.setTenantDbid(iTenantDBID);
|
||||
personquery.setGroupDbid(iGroupDBID);
|
||||
Collection<CfgPerson> persons = service.retrieveMultipleObjects(CfgPerson.class,
|
||||
personquery);
|
||||
|
||||
return persons;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,721 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
var O = 'object';
|
||||
var check = function (it) {
|
||||
return it && it.Math == Math && it;
|
||||
};
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global_1 =
|
||||
// eslint-disable-next-line no-undef
|
||||
check(typeof globalThis == O && globalThis) ||
|
||||
check(typeof window == O && window) ||
|
||||
check(typeof self == O && self) ||
|
||||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function('return this')();
|
||||
|
||||
var fails = function (exec) {
|
||||
try {
|
||||
return !!exec();
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var descriptors = !fails(function () {
|
||||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||
});
|
||||
|
||||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// Nashorn ~ JDK8 bug
|
||||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||||
|
||||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||||
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||||
return !!descriptor && descriptor.enumerable;
|
||||
} : nativePropertyIsEnumerable;
|
||||
|
||||
var objectPropertyIsEnumerable = {
|
||||
f: f
|
||||
};
|
||||
|
||||
var createPropertyDescriptor = function (bitmap, value) {
|
||||
return {
|
||||
enumerable: !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable: !(bitmap & 4),
|
||||
value: value
|
||||
};
|
||||
};
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
var classofRaw = function (it) {
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
var split = ''.split;
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var indexedObject = fails(function () {
|
||||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
return !Object('z').propertyIsEnumerable(0);
|
||||
}) ? function (it) {
|
||||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||||
} : Object;
|
||||
|
||||
// `RequireObjectCoercible` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||||
var requireObjectCoercible = function (it) {
|
||||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
// toObject with fallback for non-array-like ES3 strings
|
||||
|
||||
|
||||
|
||||
var toIndexedObject = function (it) {
|
||||
return indexedObject(requireObjectCoercible(it));
|
||||
};
|
||||
|
||||
var isObject = function (it) {
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
// `ToPrimitive` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||||
if (!isObject(input)) return input;
|
||||
var fn, val;
|
||||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
|
||||
var has = function (it, key) {
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
var document = global_1.document;
|
||||
// typeof document.createElement is 'object' in old IE
|
||||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||||
|
||||
var documentCreateElement = function (it) {
|
||||
return EXISTS ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var ie8DomDefine = !descriptors && !fails(function () {
|
||||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
});
|
||||
|
||||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||||
O = toIndexedObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeGetOwnPropertyDescriptor(O, P);
|
||||
} catch (error) { /* empty */ }
|
||||
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyDescriptor = {
|
||||
f: f$1
|
||||
};
|
||||
|
||||
var anObject = function (it) {
|
||||
if (!isObject(it)) {
|
||||
throw TypeError(String(it) + ' is not an object');
|
||||
} return it;
|
||||
};
|
||||
|
||||
var nativeDefineProperty = Object.defineProperty;
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||||
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeDefineProperty(O, P, Attributes);
|
||||
} catch (error) { /* empty */ }
|
||||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||||
if ('value' in Attributes) O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
var objectDefineProperty = {
|
||||
f: f$2
|
||||
};
|
||||
|
||||
var hide = descriptors ? function (object, key, value) {
|
||||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||||
} : function (object, key, value) {
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
var setGlobal = function (key, value) {
|
||||
try {
|
||||
hide(global_1, key, value);
|
||||
} catch (error) {
|
||||
global_1[key] = value;
|
||||
} return value;
|
||||
};
|
||||
|
||||
var shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = global_1[SHARED] || setGlobal(SHARED, {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.1.3',
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var functionToString = shared('native-function-to-string', Function.toString);
|
||||
|
||||
var WeakMap = global_1.WeakMap;
|
||||
|
||||
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
|
||||
|
||||
var id = 0;
|
||||
var postfix = Math.random();
|
||||
|
||||
var uid = function (key) {
|
||||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||||
};
|
||||
|
||||
var keys = shared('keys');
|
||||
|
||||
var sharedKey = function (key) {
|
||||
return keys[key] || (keys[key] = uid(key));
|
||||
};
|
||||
|
||||
var hiddenKeys = {};
|
||||
|
||||
var WeakMap$1 = global_1.WeakMap;
|
||||
var set, get, has$1;
|
||||
|
||||
var enforce = function (it) {
|
||||
return has$1(it) ? get(it) : set(it, {});
|
||||
};
|
||||
|
||||
var getterFor = function (TYPE) {
|
||||
return function (it) {
|
||||
var state;
|
||||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||||
} return state;
|
||||
};
|
||||
};
|
||||
|
||||
if (nativeWeakMap) {
|
||||
var store = new WeakMap$1();
|
||||
var wmget = store.get;
|
||||
var wmhas = store.has;
|
||||
var wmset = store.set;
|
||||
set = function (it, metadata) {
|
||||
wmset.call(store, it, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return wmget.call(store, it) || {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return wmhas.call(store, it);
|
||||
};
|
||||
} else {
|
||||
var STATE = sharedKey('state');
|
||||
hiddenKeys[STATE] = true;
|
||||
set = function (it, metadata) {
|
||||
hide(it, STATE, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return has(it, STATE) ? it[STATE] : {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return has(it, STATE);
|
||||
};
|
||||
}
|
||||
|
||||
var internalState = {
|
||||
set: set,
|
||||
get: get,
|
||||
has: has$1,
|
||||
enforce: enforce,
|
||||
getterFor: getterFor
|
||||
};
|
||||
|
||||
var redefine = createCommonjsModule(function (module) {
|
||||
var getInternalState = internalState.get;
|
||||
var enforceInternalState = internalState.enforce;
|
||||
var TEMPLATE = String(functionToString).split('toString');
|
||||
|
||||
shared('inspectSource', function (it) {
|
||||
return functionToString.call(it);
|
||||
});
|
||||
|
||||
(module.exports = function (O, key, value, options) {
|
||||
var unsafe = options ? !!options.unsafe : false;
|
||||
var simple = options ? !!options.enumerable : false;
|
||||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||||
if (typeof value == 'function') {
|
||||
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||||
}
|
||||
if (O === global_1) {
|
||||
if (simple) O[key] = value;
|
||||
else setGlobal(key, value);
|
||||
return;
|
||||
} else if (!unsafe) {
|
||||
delete O[key];
|
||||
} else if (!noTargetGet && O[key]) {
|
||||
simple = true;
|
||||
}
|
||||
if (simple) O[key] = value;
|
||||
else hide(O, key, value);
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, 'toString', function toString() {
|
||||
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
var path = global_1;
|
||||
|
||||
var aFunction = function (variable) {
|
||||
return typeof variable == 'function' ? variable : undefined;
|
||||
};
|
||||
|
||||
var getBuiltIn = function (namespace, method) {
|
||||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
|
||||
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
|
||||
};
|
||||
|
||||
var ceil = Math.ceil;
|
||||
var floor = Math.floor;
|
||||
|
||||
// `ToInteger` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||||
var toInteger = function (argument) {
|
||||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||||
};
|
||||
|
||||
var min = Math.min;
|
||||
|
||||
// `ToLength` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tolength
|
||||
var toLength = function (argument) {
|
||||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
var max = Math.max;
|
||||
var min$1 = Math.min;
|
||||
|
||||
// Helper for a popular repeating case of the spec:
|
||||
// Let integer be ? ToInteger(index).
|
||||
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||||
var toAbsoluteIndex = function (index, length) {
|
||||
var integer = toInteger(index);
|
||||
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
|
||||
};
|
||||
|
||||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||||
var createMethod = function (IS_INCLUDES) {
|
||||
return function ($this, el, fromIndex) {
|
||||
var O = toIndexedObject($this);
|
||||
var length = toLength(O.length);
|
||||
var index = toAbsoluteIndex(fromIndex, length);
|
||||
var value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (IS_INCLUDES && el != el) while (length > index) {
|
||||
value = O[index++];
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (value != value) return true;
|
||||
// Array#indexOf ignores holes, Array#includes - not
|
||||
} else for (;length > index; index++) {
|
||||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
var arrayIncludes = {
|
||||
// `Array.prototype.includes` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||||
includes: createMethod(true),
|
||||
// `Array.prototype.indexOf` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||||
indexOf: createMethod(false)
|
||||
};
|
||||
|
||||
var indexOf = arrayIncludes.indexOf;
|
||||
|
||||
|
||||
var objectKeysInternal = function (object, names) {
|
||||
var O = toIndexedObject(object);
|
||||
var i = 0;
|
||||
var result = [];
|
||||
var key;
|
||||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while (names.length > i) if (has(O, key = names[i++])) {
|
||||
~indexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
// IE8- don't enum bug keys
|
||||
var enumBugKeys = [
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf'
|
||||
];
|
||||
|
||||
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
|
||||
|
||||
// `Object.getOwnPropertyNames` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||||
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return objectKeysInternal(O, hiddenKeys$1);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyNames = {
|
||||
f: f$3
|
||||
};
|
||||
|
||||
var f$4 = Object.getOwnPropertySymbols;
|
||||
|
||||
var objectGetOwnPropertySymbols = {
|
||||
f: f$4
|
||||
};
|
||||
|
||||
// all object keys, includes non-enumerable and symbols
|
||||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||||
};
|
||||
|
||||
var copyConstructorProperties = function (target, source) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = objectDefineProperty.f;
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
};
|
||||
|
||||
var replacement = /#|\.prototype\./;
|
||||
|
||||
var isForced = function (feature, detection) {
|
||||
var value = data[normalize(feature)];
|
||||
return value == POLYFILL ? true
|
||||
: value == NATIVE ? false
|
||||
: typeof detection == 'function' ? fails(detection)
|
||||
: !!detection;
|
||||
};
|
||||
|
||||
var normalize = isForced.normalize = function (string) {
|
||||
return String(string).replace(replacement, '.').toLowerCase();
|
||||
};
|
||||
|
||||
var data = isForced.data = {};
|
||||
var NATIVE = isForced.NATIVE = 'N';
|
||||
var POLYFILL = isForced.POLYFILL = 'P';
|
||||
|
||||
var isForced_1 = isForced;
|
||||
|
||||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
options.target - name of the target object
|
||||
options.global - target is the global object
|
||||
options.stat - export as static methods of target
|
||||
options.proto - export as prototype methods of target
|
||||
options.real - real prototype method for the `pure` version
|
||||
options.forced - export even if the native feature is available
|
||||
options.bind - bind methods to the target, required for the `pure` version
|
||||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||||
options.sham - add a flag to not completely full polyfills
|
||||
options.enumerable - export as enumerable property
|
||||
options.noTargetGet - prevent calling a getter on target
|
||||
*/
|
||||
var _export = function (options, source) {
|
||||
var TARGET = options.target;
|
||||
var GLOBAL = options.global;
|
||||
var STATIC = options.stat;
|
||||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||||
if (GLOBAL) {
|
||||
target = global_1;
|
||||
} else if (STATIC) {
|
||||
target = global_1[TARGET] || setGlobal(TARGET, {});
|
||||
} else {
|
||||
target = (global_1[TARGET] || {}).prototype;
|
||||
}
|
||||
if (target) for (key in source) {
|
||||
sourceProperty = source[key];
|
||||
if (options.noTargetGet) {
|
||||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||||
targetProperty = descriptor && descriptor.value;
|
||||
} else targetProperty = target[key];
|
||||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||||
// contained in target
|
||||
if (!FORCED && targetProperty !== undefined) {
|
||||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||||
copyConstructorProperties(sourceProperty, targetProperty);
|
||||
}
|
||||
// add a flag to not completely full polyfills
|
||||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||||
hide(sourceProperty, 'sham', true);
|
||||
}
|
||||
// extend global
|
||||
redefine(target, key, sourceProperty, options);
|
||||
}
|
||||
};
|
||||
|
||||
// `IsArray` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-isarray
|
||||
var isArray = Array.isArray || function isArray(arg) {
|
||||
return classofRaw(arg) == 'Array';
|
||||
};
|
||||
|
||||
// `ToObject` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toobject
|
||||
var toObject = function (argument) {
|
||||
return Object(requireObjectCoercible(argument));
|
||||
};
|
||||
|
||||
var createProperty = function (object, key, value) {
|
||||
var propertyKey = toPrimitive(key);
|
||||
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||||
else object[propertyKey] = value;
|
||||
};
|
||||
|
||||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||||
// Chrome 38 Symbol has incorrect toString conversion
|
||||
// eslint-disable-next-line no-undef
|
||||
return !String(Symbol());
|
||||
});
|
||||
|
||||
var Symbol$1 = global_1.Symbol;
|
||||
var store$1 = shared('wks');
|
||||
|
||||
var wellKnownSymbol = function (name) {
|
||||
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|
||||
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
|
||||
};
|
||||
|
||||
var SPECIES = wellKnownSymbol('species');
|
||||
|
||||
// `ArraySpeciesCreate` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||||
var arraySpeciesCreate = function (originalArray, length) {
|
||||
var C;
|
||||
if (isArray(originalArray)) {
|
||||
C = originalArray.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||||
else if (isObject(C)) {
|
||||
C = C[SPECIES];
|
||||
if (C === null) C = undefined;
|
||||
}
|
||||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||||
};
|
||||
|
||||
var SPECIES$1 = wellKnownSymbol('species');
|
||||
|
||||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||||
return !fails(function () {
|
||||
var array = [];
|
||||
var constructor = array.constructor = {};
|
||||
constructor[SPECIES$1] = function () {
|
||||
return { foo: 1 };
|
||||
};
|
||||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||||
});
|
||||
};
|
||||
|
||||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||||
|
||||
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
|
||||
var array = [];
|
||||
array[IS_CONCAT_SPREADABLE] = false;
|
||||
return array.concat()[0] !== array;
|
||||
});
|
||||
|
||||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||||
|
||||
var isConcatSpreadable = function (O) {
|
||||
if (!isObject(O)) return false;
|
||||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||||
};
|
||||
|
||||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||||
|
||||
// `Array.prototype.concat` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||||
// with adding support of @@isConcatSpreadable and @@species
|
||||
_export({ target: 'Array', proto: true, forced: FORCED }, {
|
||||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||||
var O = toObject(this);
|
||||
var A = arraySpeciesCreate(O, 0);
|
||||
var n = 0;
|
||||
var i, k, length, len, E;
|
||||
for (i = -1, length = arguments.length; i < length; i++) {
|
||||
E = i === -1 ? O : arguments[i];
|
||||
if (isConcatSpreadable(E)) {
|
||||
len = toLength(E.length);
|
||||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||||
} else {
|
||||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
createProperty(A, n++, E);
|
||||
}
|
||||
}
|
||||
A.length = n;
|
||||
return A;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Bootstrap Table Urdu translation
|
||||
* Author: Malik <me@malikrizwan.com>
|
||||
*/
|
||||
|
||||
$.fn.bootstrapTable.locales['ur-PK'] = {
|
||||
formatLoadingMessage: function formatLoadingMessage() {
|
||||
return 'براۓ مہربانی انتظار کیجئے';
|
||||
},
|
||||
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
|
||||
return "".concat(pageNumber, " \u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 \u0641\u06CC \u0635\u0641\u06C1 ");
|
||||
},
|
||||
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
|
||||
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
|
||||
return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 (filtered from ").concat(totalNotFiltered, " total rows)");
|
||||
}
|
||||
|
||||
return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632");
|
||||
},
|
||||
formatSRPaginationPreText: function formatSRPaginationPreText() {
|
||||
return 'previous page';
|
||||
},
|
||||
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
|
||||
return "to page ".concat(page);
|
||||
},
|
||||
formatSRPaginationNextText: function formatSRPaginationNextText() {
|
||||
return 'next page';
|
||||
},
|
||||
formatDetailPagination: function formatDetailPagination(totalRows) {
|
||||
return "Showing ".concat(totalRows, " rows");
|
||||
},
|
||||
formatClearSearch: function formatClearSearch() {
|
||||
return 'Clear Search';
|
||||
},
|
||||
formatSearch: function formatSearch() {
|
||||
return 'تلاش';
|
||||
},
|
||||
formatNoMatches: function formatNoMatches() {
|
||||
return 'کوئی ریکارڈ نہیں ملا';
|
||||
},
|
||||
formatPaginationSwitch: function formatPaginationSwitch() {
|
||||
return 'Hide/Show pagination';
|
||||
},
|
||||
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
|
||||
return 'Show pagination';
|
||||
},
|
||||
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
|
||||
return 'Hide pagination';
|
||||
},
|
||||
formatRefresh: function formatRefresh() {
|
||||
return 'تازہ کریں';
|
||||
},
|
||||
formatToggle: function formatToggle() {
|
||||
return 'تبدیل کریں';
|
||||
},
|
||||
formatToggleOn: function formatToggleOn() {
|
||||
return 'Show card view';
|
||||
},
|
||||
formatToggleOff: function formatToggleOff() {
|
||||
return 'Hide card view';
|
||||
},
|
||||
formatColumns: function formatColumns() {
|
||||
return 'کالم';
|
||||
},
|
||||
formatColumnsToggleAll: function formatColumnsToggleAll() {
|
||||
return 'Toggle all';
|
||||
},
|
||||
formatFullscreen: function formatFullscreen() {
|
||||
return 'Fullscreen';
|
||||
},
|
||||
formatAllRows: function formatAllRows() {
|
||||
return 'All';
|
||||
},
|
||||
formatAutoRefresh: function formatAutoRefresh() {
|
||||
return 'Auto Refresh';
|
||||
},
|
||||
formatExport: function formatExport() {
|
||||
return 'Export data';
|
||||
},
|
||||
formatJumpTo: function formatJumpTo() {
|
||||
return 'GO';
|
||||
},
|
||||
formatAdvancedSearch: function formatAdvancedSearch() {
|
||||
return 'Advanced search';
|
||||
},
|
||||
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
|
||||
return 'Close';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ur-PK']);
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Russian [ru]
|
||||
//! author : Viktorminator : https://github.com/Viktorminator
|
||||
//! Author : Menelion Elensúle : https://github.com/Oire
|
||||
//! author : Коренберг Марк : https://github.com/socketpair
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
function plural(word, num) {
|
||||
var forms = word.split('_');
|
||||
return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
|
||||
}
|
||||
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
||||
var format = {
|
||||
'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
|
||||
'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
|
||||
'hh': 'час_часа_часов',
|
||||
'dd': 'день_дня_дней',
|
||||
'MM': 'месяц_месяца_месяцев',
|
||||
'yy': 'год_года_лет'
|
||||
};
|
||||
if (key === 'm') {
|
||||
return withoutSuffix ? 'минута' : 'минуту';
|
||||
}
|
||||
else {
|
||||
return number + ' ' + plural(format[key], +number);
|
||||
}
|
||||
}
|
||||
var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
|
||||
|
||||
// http://new.gramota.ru/spravka/rules/139-prop : § 103
|
||||
// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
|
||||
// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
|
||||
export default moment.defineLocale('ru', {
|
||||
months : {
|
||||
format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
|
||||
standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
|
||||
},
|
||||
monthsShort : {
|
||||
// по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
|
||||
format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
|
||||
standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
|
||||
},
|
||||
weekdays : {
|
||||
standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
|
||||
format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
|
||||
isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
|
||||
},
|
||||
weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
|
||||
weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
|
||||
monthsParse : monthsParse,
|
||||
longMonthsParse : monthsParse,
|
||||
shortMonthsParse : monthsParse,
|
||||
|
||||
// полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
|
||||
monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
|
||||
|
||||
// копия предыдущего
|
||||
monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
|
||||
|
||||
// полные названия с падежами
|
||||
monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
|
||||
|
||||
// Выражение, которое соотвествует только сокращённым формам
|
||||
monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D MMMM YYYY г.',
|
||||
LLL : 'D MMMM YYYY г., H:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY г., H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay: '[Сегодня, в] LT',
|
||||
nextDay: '[Завтра, в] LT',
|
||||
lastDay: '[Вчера, в] LT',
|
||||
nextWeek: function (now) {
|
||||
if (now.week() !== this.week()) {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[В следующее] dddd, [в] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
return '[В следующий] dddd, [в] LT';
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
return '[В следующую] dddd, [в] LT';
|
||||
}
|
||||
} else {
|
||||
if (this.day() === 2) {
|
||||
return '[Во] dddd, [в] LT';
|
||||
} else {
|
||||
return '[В] dddd, [в] LT';
|
||||
}
|
||||
}
|
||||
},
|
||||
lastWeek: function (now) {
|
||||
if (now.week() !== this.week()) {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[В прошлое] dddd, [в] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
return '[В прошлый] dddd, [в] LT';
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
return '[В прошлую] dddd, [в] LT';
|
||||
}
|
||||
} else {
|
||||
if (this.day() === 2) {
|
||||
return '[Во] dddd, [в] LT';
|
||||
} else {
|
||||
return '[В] dddd, [в] LT';
|
||||
}
|
||||
}
|
||||
},
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'через %s',
|
||||
past : '%s назад',
|
||||
s : 'несколько секунд',
|
||||
ss : relativeTimeWithPlural,
|
||||
m : relativeTimeWithPlural,
|
||||
mm : relativeTimeWithPlural,
|
||||
h : 'час',
|
||||
hh : relativeTimeWithPlural,
|
||||
d : 'день',
|
||||
dd : relativeTimeWithPlural,
|
||||
M : 'месяц',
|
||||
MM : relativeTimeWithPlural,
|
||||
y : 'год',
|
||||
yy : relativeTimeWithPlural
|
||||
},
|
||||
meridiemParse: /ночи|утра|дня|вечера/i,
|
||||
isPM : function (input) {
|
||||
return /^(дня|вечера)$/.test(input);
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'ночи';
|
||||
} else if (hour < 12) {
|
||||
return 'утра';
|
||||
} else if (hour < 17) {
|
||||
return 'дня';
|
||||
} else {
|
||||
return 'вечера';
|
||||
}
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
|
||||
ordinal: function (number, period) {
|
||||
switch (period) {
|
||||
case 'M':
|
||||
case 'd':
|
||||
case 'DDD':
|
||||
return number + '-й';
|
||||
case 'D':
|
||||
return number + '-го';
|
||||
case 'w':
|
||||
case 'W':
|
||||
return number + '-я';
|
||||
default:
|
||||
return number;
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,125 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
function _classCallCheck(instance, Constructor) {
|
||||
if (!(instance instanceof Constructor)) {
|
||||
throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
}
|
||||
|
||||
function _defineProperties(target, props) {
|
||||
for (var i = 0; i < props.length; i++) {
|
||||
var descriptor = props[i];
|
||||
descriptor.enumerable = descriptor.enumerable || false;
|
||||
descriptor.configurable = true;
|
||||
if ("value" in descriptor) descriptor.writable = true;
|
||||
Object.defineProperty(target, descriptor.key, descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) {
|
||||
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
||||
if (staticProps) _defineProperties(Constructor, staticProps);
|
||||
return Constructor;
|
||||
}
|
||||
|
||||
function _inherits(subClass, superClass) {
|
||||
if (typeof superClass !== "function" && superClass !== null) {
|
||||
throw new TypeError("Super expression must either be null or a function");
|
||||
}
|
||||
|
||||
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
||||
constructor: {
|
||||
value: subClass,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
if (superClass) _setPrototypeOf(subClass, superClass);
|
||||
}
|
||||
|
||||
function _getPrototypeOf(o) {
|
||||
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
||||
return o.__proto__ || Object.getPrototypeOf(o);
|
||||
};
|
||||
return _getPrototypeOf(o);
|
||||
}
|
||||
|
||||
function _setPrototypeOf(o, p) {
|
||||
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
||||
o.__proto__ = p;
|
||||
return o;
|
||||
};
|
||||
|
||||
return _setPrototypeOf(o, p);
|
||||
}
|
||||
|
||||
function _assertThisInitialized(self) {
|
||||
if (self === void 0) {
|
||||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
function _possibleConstructorReturn(self, call) {
|
||||
if (call && (typeof call === "object" || typeof call === "function")) {
|
||||
return call;
|
||||
}
|
||||
|
||||
return _assertThisInitialized(self);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author: Jewway
|
||||
* @update zhixin wen <wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.bootstrapTable.methods.push('changeTitle');
|
||||
$.fn.bootstrapTable.methods.push('changeLocale');
|
||||
|
||||
$.BootstrapTable =
|
||||
/*#__PURE__*/
|
||||
function (_$$BootstrapTable) {
|
||||
_inherits(_class, _$$BootstrapTable);
|
||||
|
||||
function _class() {
|
||||
_classCallCheck(this, _class);
|
||||
|
||||
return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
|
||||
}
|
||||
|
||||
_createClass(_class, [{
|
||||
key: "changeTitle",
|
||||
value: function changeTitle(locale) {
|
||||
$.each(this.options.columns, function (idx, columnList) {
|
||||
$.each(columnList, function (idx, column) {
|
||||
if (column.field) {
|
||||
column.title = locale[column.field];
|
||||
}
|
||||
});
|
||||
});
|
||||
this.initHeader();
|
||||
this.initBody();
|
||||
this.initToolbar();
|
||||
}
|
||||
}, {
|
||||
key: "changeLocale",
|
||||
value: function changeLocale(localeId) {
|
||||
this.options.locale = localeId;
|
||||
this.initLocale();
|
||||
this.initPagination();
|
||||
this.initBody();
|
||||
this.initToolbar();
|
||||
}
|
||||
}]);
|
||||
|
||||
return _class;
|
||||
}($.BootstrapTable);
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Bulgarian [bg]
|
||||
//! author : Krasen Borisov : https://github.com/kraz
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('bg', {
|
||||
months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
|
||||
monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
|
||||
weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
|
||||
weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
|
||||
weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'D.MM.YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY H:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Днес в] LT',
|
||||
nextDay : '[Утре в] LT',
|
||||
nextWeek : 'dddd [в] LT',
|
||||
lastDay : '[Вчера в] LT',
|
||||
lastWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 6:
|
||||
return '[В изминалата] dddd [в] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[В изминалия] dddd [в] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'след %s',
|
||||
past : 'преди %s',
|
||||
s : 'няколко секунди',
|
||||
ss : '%d секунди',
|
||||
m : 'минута',
|
||||
mm : '%d минути',
|
||||
h : 'час',
|
||||
hh : '%d часа',
|
||||
d : 'ден',
|
||||
dd : '%d дни',
|
||||
M : 'месец',
|
||||
MM : '%d месеца',
|
||||
y : 'година',
|
||||
yy : '%d години'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
|
||||
ordinal : function (number) {
|
||||
var lastDigit = number % 10,
|
||||
last2Digits = number % 100;
|
||||
if (number === 0) {
|
||||
return number + '-ев';
|
||||
} else if (last2Digits === 0) {
|
||||
return number + '-ен';
|
||||
} else if (last2Digits > 10 && last2Digits < 20) {
|
||||
return number + '-ти';
|
||||
} else if (lastDigit === 1) {
|
||||
return number + '-ви';
|
||||
} else if (lastDigit === 2) {
|
||||
return number + '-ри';
|
||||
} else if (lastDigit === 7 || lastDigit === 8) {
|
||||
return number + '-ми';
|
||||
} else {
|
||||
return number + '-ти';
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
//! moment.js language configuration
|
||||
//! locale : Uyghur (China) [ug-cn]
|
||||
//! author: boyaq : https://github.com/boyaq
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('ug-cn', {
|
||||
months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
|
||||
'_'
|
||||
),
|
||||
monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
|
||||
'_'
|
||||
),
|
||||
weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
|
||||
'_'
|
||||
),
|
||||
weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
|
||||
weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
|
||||
longDateFormat: {
|
||||
LT: 'HH:mm',
|
||||
LTS: 'HH:mm:ss',
|
||||
L: 'YYYY-MM-DD',
|
||||
LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
|
||||
LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
|
||||
LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
|
||||
},
|
||||
meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
|
||||
meridiemHour: function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (
|
||||
meridiem === 'يېرىم كېچە' ||
|
||||
meridiem === 'سەھەر' ||
|
||||
meridiem === 'چۈشتىن بۇرۇن'
|
||||
) {
|
||||
return hour;
|
||||
} else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
|
||||
return hour + 12;
|
||||
} else {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem: function (hour, minute, isLower) {
|
||||
var hm = hour * 100 + minute;
|
||||
if (hm < 600) {
|
||||
return 'يېرىم كېچە';
|
||||
} else if (hm < 900) {
|
||||
return 'سەھەر';
|
||||
} else if (hm < 1130) {
|
||||
return 'چۈشتىن بۇرۇن';
|
||||
} else if (hm < 1230) {
|
||||
return 'چۈش';
|
||||
} else if (hm < 1800) {
|
||||
return 'چۈشتىن كېيىن';
|
||||
} else {
|
||||
return 'كەچ';
|
||||
}
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[بۈگۈن سائەت] LT',
|
||||
nextDay: '[ئەتە سائەت] LT',
|
||||
nextWeek: '[كېلەركى] dddd [سائەت] LT',
|
||||
lastDay: '[تۆنۈگۈن] LT',
|
||||
lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime: {
|
||||
future: '%s كېيىن',
|
||||
past: '%s بۇرۇن',
|
||||
s: 'نەچچە سېكونت',
|
||||
ss: '%d سېكونت',
|
||||
m: 'بىر مىنۇت',
|
||||
mm: '%d مىنۇت',
|
||||
h: 'بىر سائەت',
|
||||
hh: '%d سائەت',
|
||||
d: 'بىر كۈن',
|
||||
dd: '%d كۈن',
|
||||
M: 'بىر ئاي',
|
||||
MM: '%d ئاي',
|
||||
y: 'بىر يىل',
|
||||
yy: '%d يىل'
|
||||
},
|
||||
|
||||
dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
|
||||
ordinal: function (number, period) {
|
||||
switch (period) {
|
||||
case 'd':
|
||||
case 'D':
|
||||
case 'DDD':
|
||||
return number + '-كۈنى';
|
||||
case 'w':
|
||||
case 'W':
|
||||
return number + '-ھەپتە';
|
||||
default:
|
||||
return number;
|
||||
}
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/،/g, ',');
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/,/g, '،');
|
||||
},
|
||||
week: {
|
||||
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
|
||||
dow: 1, // Monday is the first day of the week.
|
||||
doy: 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
|
||||
*
|
||||
* @version v1.15.2
|
||||
* @homepage https://bootstrap-table.com
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
.fixed-table-header-columns,.fixed-table-body-columns{position:absolute;background-color:#fff;box-sizing:border-box;overflow:hidden;z-index:1}.fixed-table-header-columns{z-index:2}.fixed-table-header-columns .table,.fixed-table-body-columns .table{border-right:1px solid #ddd}.fixed-table-header-columns .table.table-no-bordered,.fixed-table-body-columns .table.table-no-bordered{border-right:1px solid transparent}.fixed-table-body-columns table{position:absolute;animation:none}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Welsh [cy]
|
||||
//! author : Robert Allen : https://github.com/robgallen
|
||||
//! author : https://github.com/ryangreaves
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('cy', {
|
||||
months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
|
||||
monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
|
||||
weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
|
||||
weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
|
||||
weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
// time formats are the same as en-gb
|
||||
longDateFormat: {
|
||||
LT: 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L: 'DD/MM/YYYY',
|
||||
LL: 'D MMMM YYYY',
|
||||
LLL: 'D MMMM YYYY HH:mm',
|
||||
LLLL: 'dddd, D MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[Heddiw am] LT',
|
||||
nextDay: '[Yfory am] LT',
|
||||
nextWeek: 'dddd [am] LT',
|
||||
lastDay: '[Ddoe am] LT',
|
||||
lastWeek: 'dddd [diwethaf am] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime: {
|
||||
future: 'mewn %s',
|
||||
past: '%s yn ôl',
|
||||
s: 'ychydig eiliadau',
|
||||
ss: '%d eiliad',
|
||||
m: 'munud',
|
||||
mm: '%d munud',
|
||||
h: 'awr',
|
||||
hh: '%d awr',
|
||||
d: 'diwrnod',
|
||||
dd: '%d diwrnod',
|
||||
M: 'mis',
|
||||
MM: '%d mis',
|
||||
y: 'blwyddyn',
|
||||
yy: '%d flynedd'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
|
||||
// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
|
||||
ordinal: function (number) {
|
||||
var b = number,
|
||||
output = '',
|
||||
lookup = [
|
||||
'', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
|
||||
'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
|
||||
];
|
||||
if (b > 20) {
|
||||
if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
|
||||
output = 'fed'; // not 30ain, 70ain or 90ain
|
||||
} else {
|
||||
output = 'ain';
|
||||
}
|
||||
} else if (b > 0) {
|
||||
output = lookup[b];
|
||||
}
|
||||
return number + output;
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Persian [fa]
|
||||
//! author : Ebrahim Byagowi : https://github.com/ebraminio
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var symbolMap = {
|
||||
'1': '۱',
|
||||
'2': '۲',
|
||||
'3': '۳',
|
||||
'4': '۴',
|
||||
'5': '۵',
|
||||
'6': '۶',
|
||||
'7': '۷',
|
||||
'8': '۸',
|
||||
'9': '۹',
|
||||
'0': '۰'
|
||||
}, numberMap = {
|
||||
'۱': '1',
|
||||
'۲': '2',
|
||||
'۳': '3',
|
||||
'۴': '4',
|
||||
'۵': '5',
|
||||
'۶': '6',
|
||||
'۷': '7',
|
||||
'۸': '8',
|
||||
'۹': '9',
|
||||
'۰': '0'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('fa', {
|
||||
months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
|
||||
monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
|
||||
weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
|
||||
weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
|
||||
weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
||||
},
|
||||
meridiemParse: /قبل از ظهر|بعد از ظهر/,
|
||||
isPM: function (input) {
|
||||
return /بعد از ظهر/.test(input);
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 12) {
|
||||
return 'قبل از ظهر';
|
||||
} else {
|
||||
return 'بعد از ظهر';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[امروز ساعت] LT',
|
||||
nextDay : '[فردا ساعت] LT',
|
||||
nextWeek : 'dddd [ساعت] LT',
|
||||
lastDay : '[دیروز ساعت] LT',
|
||||
lastWeek : 'dddd [پیش] [ساعت] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'در %s',
|
||||
past : '%s پیش',
|
||||
s : 'چند ثانیه',
|
||||
ss : 'ثانیه d%',
|
||||
m : 'یک دقیقه',
|
||||
mm : '%d دقیقه',
|
||||
h : 'یک ساعت',
|
||||
hh : '%d ساعت',
|
||||
d : 'یک روز',
|
||||
dd : '%d روز',
|
||||
M : 'یک ماه',
|
||||
MM : '%d ماه',
|
||||
y : 'یک سال',
|
||||
yy : '%d سال'
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/[۰-۹]/g, function (match) {
|
||||
return numberMap[match];
|
||||
}).replace(/،/g, ',');
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
}).replace(/,/g, '،');
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}م/,
|
||||
ordinal : '%dم',
|
||||
week : {
|
||||
dow : 6, // Saturday is the first day of the week.
|
||||
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Indonesian [id]
|
||||
//! author : Mohammad Satrio Utomo : https://github.com/tyok
|
||||
//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('id', {
|
||||
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
|
||||
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
|
||||
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
|
||||
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
|
||||
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH.mm',
|
||||
LTS : 'HH.mm.ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
||||
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
||||
},
|
||||
meridiemParse: /pagi|siang|sore|malam/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'pagi') {
|
||||
return hour;
|
||||
} else if (meridiem === 'siang') {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
} else if (meridiem === 'sore' || meridiem === 'malam') {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 11) {
|
||||
return 'pagi';
|
||||
} else if (hours < 15) {
|
||||
return 'siang';
|
||||
} else if (hours < 19) {
|
||||
return 'sore';
|
||||
} else {
|
||||
return 'malam';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Hari ini pukul] LT',
|
||||
nextDay : '[Besok pukul] LT',
|
||||
nextWeek : 'dddd [pukul] LT',
|
||||
lastDay : '[Kemarin pukul] LT',
|
||||
lastWeek : 'dddd [lalu pukul] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'dalam %s',
|
||||
past : '%s yang lalu',
|
||||
s : 'beberapa detik',
|
||||
ss : '%d detik',
|
||||
m : 'semenit',
|
||||
mm : '%d menit',
|
||||
h : 'sejam',
|
||||
hh : '%d jam',
|
||||
d : 'sehari',
|
||||
dd : '%d hari',
|
||||
M : 'sebulan',
|
||||
MM : '%d bulan',
|
||||
y : 'setahun',
|
||||
yy : '%d tahun'
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Thai [th]
|
||||
//! author : Kridsada Thanabulpong : https://github.com/sirn
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('th', {
|
||||
months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
|
||||
monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
|
||||
monthsParseExact: true,
|
||||
weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
|
||||
weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
|
||||
weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY เวลา H:mm',
|
||||
LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
|
||||
},
|
||||
meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
|
||||
isPM: function (input) {
|
||||
return input === 'หลังเที่ยง';
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 12) {
|
||||
return 'ก่อนเที่ยง';
|
||||
} else {
|
||||
return 'หลังเที่ยง';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[วันนี้ เวลา] LT',
|
||||
nextDay : '[พรุ่งนี้ เวลา] LT',
|
||||
nextWeek : 'dddd[หน้า เวลา] LT',
|
||||
lastDay : '[เมื่อวานนี้ เวลา] LT',
|
||||
lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'อีก %s',
|
||||
past : '%sที่แล้ว',
|
||||
s : 'ไม่กี่วินาที',
|
||||
ss : '%d วินาที',
|
||||
m : '1 นาที',
|
||||
mm : '%d นาที',
|
||||
h : '1 ชั่วโมง',
|
||||
hh : '%d ชั่วโมง',
|
||||
d : '1 วัน',
|
||||
dd : '%d วัน',
|
||||
M : '1 เดือน',
|
||||
MM : '%d เดือน',
|
||||
y : '1 ปี',
|
||||
yy : '%d ปี'
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
* @author vincent loh <vincent.ml@gmail.com>
|
||||
* @update zhixin wen <wenzhixin2010@gmail.com>
|
||||
*/
|
||||
|
||||
.fix-sticky {
|
||||
position: fixed !important;
|
||||
overflow: hidden;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.fix-sticky table thead {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.fix-sticky table thead.thead-light {
|
||||
background: #e9ecef;
|
||||
}
|
||||
|
||||
.fix-sticky table thead.thead-dark {
|
||||
background: #212529;
|
||||
}
|
||||
|
|
@ -0,0 +1,721 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
var O = 'object';
|
||||
var check = function (it) {
|
||||
return it && it.Math == Math && it;
|
||||
};
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global_1 =
|
||||
// eslint-disable-next-line no-undef
|
||||
check(typeof globalThis == O && globalThis) ||
|
||||
check(typeof window == O && window) ||
|
||||
check(typeof self == O && self) ||
|
||||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function('return this')();
|
||||
|
||||
var fails = function (exec) {
|
||||
try {
|
||||
return !!exec();
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var descriptors = !fails(function () {
|
||||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||
});
|
||||
|
||||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// Nashorn ~ JDK8 bug
|
||||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||||
|
||||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||||
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||||
return !!descriptor && descriptor.enumerable;
|
||||
} : nativePropertyIsEnumerable;
|
||||
|
||||
var objectPropertyIsEnumerable = {
|
||||
f: f
|
||||
};
|
||||
|
||||
var createPropertyDescriptor = function (bitmap, value) {
|
||||
return {
|
||||
enumerable: !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable: !(bitmap & 4),
|
||||
value: value
|
||||
};
|
||||
};
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
var classofRaw = function (it) {
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
var split = ''.split;
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var indexedObject = fails(function () {
|
||||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
return !Object('z').propertyIsEnumerable(0);
|
||||
}) ? function (it) {
|
||||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||||
} : Object;
|
||||
|
||||
// `RequireObjectCoercible` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||||
var requireObjectCoercible = function (it) {
|
||||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
// toObject with fallback for non-array-like ES3 strings
|
||||
|
||||
|
||||
|
||||
var toIndexedObject = function (it) {
|
||||
return indexedObject(requireObjectCoercible(it));
|
||||
};
|
||||
|
||||
var isObject = function (it) {
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
// `ToPrimitive` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||||
if (!isObject(input)) return input;
|
||||
var fn, val;
|
||||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
|
||||
var has = function (it, key) {
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
var document = global_1.document;
|
||||
// typeof document.createElement is 'object' in old IE
|
||||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||||
|
||||
var documentCreateElement = function (it) {
|
||||
return EXISTS ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var ie8DomDefine = !descriptors && !fails(function () {
|
||||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
});
|
||||
|
||||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||||
O = toIndexedObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeGetOwnPropertyDescriptor(O, P);
|
||||
} catch (error) { /* empty */ }
|
||||
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyDescriptor = {
|
||||
f: f$1
|
||||
};
|
||||
|
||||
var anObject = function (it) {
|
||||
if (!isObject(it)) {
|
||||
throw TypeError(String(it) + ' is not an object');
|
||||
} return it;
|
||||
};
|
||||
|
||||
var nativeDefineProperty = Object.defineProperty;
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||||
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeDefineProperty(O, P, Attributes);
|
||||
} catch (error) { /* empty */ }
|
||||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||||
if ('value' in Attributes) O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
var objectDefineProperty = {
|
||||
f: f$2
|
||||
};
|
||||
|
||||
var hide = descriptors ? function (object, key, value) {
|
||||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||||
} : function (object, key, value) {
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
var setGlobal = function (key, value) {
|
||||
try {
|
||||
hide(global_1, key, value);
|
||||
} catch (error) {
|
||||
global_1[key] = value;
|
||||
} return value;
|
||||
};
|
||||
|
||||
var shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = global_1[SHARED] || setGlobal(SHARED, {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.1.3',
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var functionToString = shared('native-function-to-string', Function.toString);
|
||||
|
||||
var WeakMap = global_1.WeakMap;
|
||||
|
||||
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
|
||||
|
||||
var id = 0;
|
||||
var postfix = Math.random();
|
||||
|
||||
var uid = function (key) {
|
||||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||||
};
|
||||
|
||||
var keys = shared('keys');
|
||||
|
||||
var sharedKey = function (key) {
|
||||
return keys[key] || (keys[key] = uid(key));
|
||||
};
|
||||
|
||||
var hiddenKeys = {};
|
||||
|
||||
var WeakMap$1 = global_1.WeakMap;
|
||||
var set, get, has$1;
|
||||
|
||||
var enforce = function (it) {
|
||||
return has$1(it) ? get(it) : set(it, {});
|
||||
};
|
||||
|
||||
var getterFor = function (TYPE) {
|
||||
return function (it) {
|
||||
var state;
|
||||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||||
} return state;
|
||||
};
|
||||
};
|
||||
|
||||
if (nativeWeakMap) {
|
||||
var store = new WeakMap$1();
|
||||
var wmget = store.get;
|
||||
var wmhas = store.has;
|
||||
var wmset = store.set;
|
||||
set = function (it, metadata) {
|
||||
wmset.call(store, it, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return wmget.call(store, it) || {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return wmhas.call(store, it);
|
||||
};
|
||||
} else {
|
||||
var STATE = sharedKey('state');
|
||||
hiddenKeys[STATE] = true;
|
||||
set = function (it, metadata) {
|
||||
hide(it, STATE, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return has(it, STATE) ? it[STATE] : {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return has(it, STATE);
|
||||
};
|
||||
}
|
||||
|
||||
var internalState = {
|
||||
set: set,
|
||||
get: get,
|
||||
has: has$1,
|
||||
enforce: enforce,
|
||||
getterFor: getterFor
|
||||
};
|
||||
|
||||
var redefine = createCommonjsModule(function (module) {
|
||||
var getInternalState = internalState.get;
|
||||
var enforceInternalState = internalState.enforce;
|
||||
var TEMPLATE = String(functionToString).split('toString');
|
||||
|
||||
shared('inspectSource', function (it) {
|
||||
return functionToString.call(it);
|
||||
});
|
||||
|
||||
(module.exports = function (O, key, value, options) {
|
||||
var unsafe = options ? !!options.unsafe : false;
|
||||
var simple = options ? !!options.enumerable : false;
|
||||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||||
if (typeof value == 'function') {
|
||||
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||||
}
|
||||
if (O === global_1) {
|
||||
if (simple) O[key] = value;
|
||||
else setGlobal(key, value);
|
||||
return;
|
||||
} else if (!unsafe) {
|
||||
delete O[key];
|
||||
} else if (!noTargetGet && O[key]) {
|
||||
simple = true;
|
||||
}
|
||||
if (simple) O[key] = value;
|
||||
else hide(O, key, value);
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, 'toString', function toString() {
|
||||
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
var path = global_1;
|
||||
|
||||
var aFunction = function (variable) {
|
||||
return typeof variable == 'function' ? variable : undefined;
|
||||
};
|
||||
|
||||
var getBuiltIn = function (namespace, method) {
|
||||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
|
||||
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
|
||||
};
|
||||
|
||||
var ceil = Math.ceil;
|
||||
var floor = Math.floor;
|
||||
|
||||
// `ToInteger` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||||
var toInteger = function (argument) {
|
||||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||||
};
|
||||
|
||||
var min = Math.min;
|
||||
|
||||
// `ToLength` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tolength
|
||||
var toLength = function (argument) {
|
||||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
var max = Math.max;
|
||||
var min$1 = Math.min;
|
||||
|
||||
// Helper for a popular repeating case of the spec:
|
||||
// Let integer be ? ToInteger(index).
|
||||
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||||
var toAbsoluteIndex = function (index, length) {
|
||||
var integer = toInteger(index);
|
||||
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
|
||||
};
|
||||
|
||||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||||
var createMethod = function (IS_INCLUDES) {
|
||||
return function ($this, el, fromIndex) {
|
||||
var O = toIndexedObject($this);
|
||||
var length = toLength(O.length);
|
||||
var index = toAbsoluteIndex(fromIndex, length);
|
||||
var value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (IS_INCLUDES && el != el) while (length > index) {
|
||||
value = O[index++];
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (value != value) return true;
|
||||
// Array#indexOf ignores holes, Array#includes - not
|
||||
} else for (;length > index; index++) {
|
||||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
var arrayIncludes = {
|
||||
// `Array.prototype.includes` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||||
includes: createMethod(true),
|
||||
// `Array.prototype.indexOf` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||||
indexOf: createMethod(false)
|
||||
};
|
||||
|
||||
var indexOf = arrayIncludes.indexOf;
|
||||
|
||||
|
||||
var objectKeysInternal = function (object, names) {
|
||||
var O = toIndexedObject(object);
|
||||
var i = 0;
|
||||
var result = [];
|
||||
var key;
|
||||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while (names.length > i) if (has(O, key = names[i++])) {
|
||||
~indexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
// IE8- don't enum bug keys
|
||||
var enumBugKeys = [
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf'
|
||||
];
|
||||
|
||||
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
|
||||
|
||||
// `Object.getOwnPropertyNames` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||||
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return objectKeysInternal(O, hiddenKeys$1);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyNames = {
|
||||
f: f$3
|
||||
};
|
||||
|
||||
var f$4 = Object.getOwnPropertySymbols;
|
||||
|
||||
var objectGetOwnPropertySymbols = {
|
||||
f: f$4
|
||||
};
|
||||
|
||||
// all object keys, includes non-enumerable and symbols
|
||||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||||
};
|
||||
|
||||
var copyConstructorProperties = function (target, source) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = objectDefineProperty.f;
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
};
|
||||
|
||||
var replacement = /#|\.prototype\./;
|
||||
|
||||
var isForced = function (feature, detection) {
|
||||
var value = data[normalize(feature)];
|
||||
return value == POLYFILL ? true
|
||||
: value == NATIVE ? false
|
||||
: typeof detection == 'function' ? fails(detection)
|
||||
: !!detection;
|
||||
};
|
||||
|
||||
var normalize = isForced.normalize = function (string) {
|
||||
return String(string).replace(replacement, '.').toLowerCase();
|
||||
};
|
||||
|
||||
var data = isForced.data = {};
|
||||
var NATIVE = isForced.NATIVE = 'N';
|
||||
var POLYFILL = isForced.POLYFILL = 'P';
|
||||
|
||||
var isForced_1 = isForced;
|
||||
|
||||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
options.target - name of the target object
|
||||
options.global - target is the global object
|
||||
options.stat - export as static methods of target
|
||||
options.proto - export as prototype methods of target
|
||||
options.real - real prototype method for the `pure` version
|
||||
options.forced - export even if the native feature is available
|
||||
options.bind - bind methods to the target, required for the `pure` version
|
||||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||||
options.sham - add a flag to not completely full polyfills
|
||||
options.enumerable - export as enumerable property
|
||||
options.noTargetGet - prevent calling a getter on target
|
||||
*/
|
||||
var _export = function (options, source) {
|
||||
var TARGET = options.target;
|
||||
var GLOBAL = options.global;
|
||||
var STATIC = options.stat;
|
||||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||||
if (GLOBAL) {
|
||||
target = global_1;
|
||||
} else if (STATIC) {
|
||||
target = global_1[TARGET] || setGlobal(TARGET, {});
|
||||
} else {
|
||||
target = (global_1[TARGET] || {}).prototype;
|
||||
}
|
||||
if (target) for (key in source) {
|
||||
sourceProperty = source[key];
|
||||
if (options.noTargetGet) {
|
||||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||||
targetProperty = descriptor && descriptor.value;
|
||||
} else targetProperty = target[key];
|
||||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||||
// contained in target
|
||||
if (!FORCED && targetProperty !== undefined) {
|
||||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||||
copyConstructorProperties(sourceProperty, targetProperty);
|
||||
}
|
||||
// add a flag to not completely full polyfills
|
||||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||||
hide(sourceProperty, 'sham', true);
|
||||
}
|
||||
// extend global
|
||||
redefine(target, key, sourceProperty, options);
|
||||
}
|
||||
};
|
||||
|
||||
// `IsArray` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-isarray
|
||||
var isArray = Array.isArray || function isArray(arg) {
|
||||
return classofRaw(arg) == 'Array';
|
||||
};
|
||||
|
||||
// `ToObject` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toobject
|
||||
var toObject = function (argument) {
|
||||
return Object(requireObjectCoercible(argument));
|
||||
};
|
||||
|
||||
var createProperty = function (object, key, value) {
|
||||
var propertyKey = toPrimitive(key);
|
||||
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||||
else object[propertyKey] = value;
|
||||
};
|
||||
|
||||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||||
// Chrome 38 Symbol has incorrect toString conversion
|
||||
// eslint-disable-next-line no-undef
|
||||
return !String(Symbol());
|
||||
});
|
||||
|
||||
var Symbol$1 = global_1.Symbol;
|
||||
var store$1 = shared('wks');
|
||||
|
||||
var wellKnownSymbol = function (name) {
|
||||
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|
||||
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
|
||||
};
|
||||
|
||||
var SPECIES = wellKnownSymbol('species');
|
||||
|
||||
// `ArraySpeciesCreate` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||||
var arraySpeciesCreate = function (originalArray, length) {
|
||||
var C;
|
||||
if (isArray(originalArray)) {
|
||||
C = originalArray.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||||
else if (isObject(C)) {
|
||||
C = C[SPECIES];
|
||||
if (C === null) C = undefined;
|
||||
}
|
||||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||||
};
|
||||
|
||||
var SPECIES$1 = wellKnownSymbol('species');
|
||||
|
||||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||||
return !fails(function () {
|
||||
var array = [];
|
||||
var constructor = array.constructor = {};
|
||||
constructor[SPECIES$1] = function () {
|
||||
return { foo: 1 };
|
||||
};
|
||||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||||
});
|
||||
};
|
||||
|
||||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||||
|
||||
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
|
||||
var array = [];
|
||||
array[IS_CONCAT_SPREADABLE] = false;
|
||||
return array.concat()[0] !== array;
|
||||
});
|
||||
|
||||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||||
|
||||
var isConcatSpreadable = function (O) {
|
||||
if (!isObject(O)) return false;
|
||||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||||
};
|
||||
|
||||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||||
|
||||
// `Array.prototype.concat` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||||
// with adding support of @@isConcatSpreadable and @@species
|
||||
_export({ target: 'Array', proto: true, forced: FORCED }, {
|
||||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||||
var O = toObject(this);
|
||||
var A = arraySpeciesCreate(O, 0);
|
||||
var n = 0;
|
||||
var i, k, length, len, E;
|
||||
for (i = -1, length = arguments.length; i < length; i++) {
|
||||
E = i === -1 ? O : arguments[i];
|
||||
if (isConcatSpreadable(E)) {
|
||||
len = toLength(E.length);
|
||||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||||
} else {
|
||||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
createProperty(A, n++, E);
|
||||
}
|
||||
}
|
||||
A.length = n;
|
||||
return A;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Bootstrap Table Georgian translation
|
||||
* Author: Levan Lotuashvili <l.lotuashvili@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.bootstrapTable.locales['ka-GE'] = {
|
||||
formatLoadingMessage: function formatLoadingMessage() {
|
||||
return 'იტვირთება, გთხოვთ მოიცადოთ';
|
||||
},
|
||||
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
|
||||
return "".concat(pageNumber, " \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10D7\u10D8\u10D7\u10DD \u10D2\u10D5\u10D4\u10E0\u10D3\u10D6\u10D4");
|
||||
},
|
||||
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
|
||||
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
|
||||
return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC (filtered from ").concat(totalNotFiltered, " total rows)");
|
||||
}
|
||||
|
||||
return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC");
|
||||
},
|
||||
formatSRPaginationPreText: function formatSRPaginationPreText() {
|
||||
return 'previous page';
|
||||
},
|
||||
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
|
||||
return "to page ".concat(page);
|
||||
},
|
||||
formatSRPaginationNextText: function formatSRPaginationNextText() {
|
||||
return 'next page';
|
||||
},
|
||||
formatDetailPagination: function formatDetailPagination(totalRows) {
|
||||
return "Showing ".concat(totalRows, " rows");
|
||||
},
|
||||
formatClearSearch: function formatClearSearch() {
|
||||
return 'Clear Search';
|
||||
},
|
||||
formatSearch: function formatSearch() {
|
||||
return 'ძებნა';
|
||||
},
|
||||
formatNoMatches: function formatNoMatches() {
|
||||
return 'მონაცემები არ არის';
|
||||
},
|
||||
formatPaginationSwitch: function formatPaginationSwitch() {
|
||||
return 'გვერდების გადამრთველის დამალვა/გამოჩენა';
|
||||
},
|
||||
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
|
||||
return 'Show pagination';
|
||||
},
|
||||
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
|
||||
return 'Hide pagination';
|
||||
},
|
||||
formatRefresh: function formatRefresh() {
|
||||
return 'განახლება';
|
||||
},
|
||||
formatToggle: function formatToggle() {
|
||||
return 'ჩართვა/გამორთვა';
|
||||
},
|
||||
formatToggleOn: function formatToggleOn() {
|
||||
return 'Show card view';
|
||||
},
|
||||
formatToggleOff: function formatToggleOff() {
|
||||
return 'Hide card view';
|
||||
},
|
||||
formatColumns: function formatColumns() {
|
||||
return 'სვეტები';
|
||||
},
|
||||
formatColumnsToggleAll: function formatColumnsToggleAll() {
|
||||
return 'Toggle all';
|
||||
},
|
||||
formatFullscreen: function formatFullscreen() {
|
||||
return 'Fullscreen';
|
||||
},
|
||||
formatAllRows: function formatAllRows() {
|
||||
return 'All';
|
||||
},
|
||||
formatAutoRefresh: function formatAutoRefresh() {
|
||||
return 'Auto Refresh';
|
||||
},
|
||||
formatExport: function formatExport() {
|
||||
return 'Export data';
|
||||
},
|
||||
formatJumpTo: function formatJumpTo() {
|
||||
return 'GO';
|
||||
},
|
||||
formatAdvancedSearch: function formatAdvancedSearch() {
|
||||
return 'Advanced search';
|
||||
},
|
||||
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
|
||||
return 'Close';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ka-GE']);
|
||||
|
||||
}));
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,126 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Belarusian [be]
|
||||
//! author : Dmitry Demidov : https://github.com/demidov91
|
||||
//! author: Praleska: http://praleska.pro/
|
||||
//! Author : Menelion Elensúle : https://github.com/Oire
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
function plural(word, num) {
|
||||
var forms = word.split('_');
|
||||
return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
|
||||
}
|
||||
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
||||
var format = {
|
||||
'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
|
||||
'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
|
||||
'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
|
||||
'dd': 'дзень_дні_дзён',
|
||||
'MM': 'месяц_месяцы_месяцаў',
|
||||
'yy': 'год_гады_гадоў'
|
||||
};
|
||||
if (key === 'm') {
|
||||
return withoutSuffix ? 'хвіліна' : 'хвіліну';
|
||||
}
|
||||
else if (key === 'h') {
|
||||
return withoutSuffix ? 'гадзіна' : 'гадзіну';
|
||||
}
|
||||
else {
|
||||
return number + ' ' + plural(format[key], +number);
|
||||
}
|
||||
}
|
||||
|
||||
export default moment.defineLocale('be', {
|
||||
months : {
|
||||
format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
|
||||
standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
|
||||
},
|
||||
monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
|
||||
weekdays : {
|
||||
format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
|
||||
standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
|
||||
isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
|
||||
},
|
||||
weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
|
||||
weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D MMMM YYYY г.',
|
||||
LLL : 'D MMMM YYYY г., HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY г., HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay: '[Сёння ў] LT',
|
||||
nextDay: '[Заўтра ў] LT',
|
||||
lastDay: '[Учора ў] LT',
|
||||
nextWeek: function () {
|
||||
return '[У] dddd [ў] LT';
|
||||
},
|
||||
lastWeek: function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
return '[У мінулую] dddd [ў] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
return '[У мінулы] dddd [ў] LT';
|
||||
}
|
||||
},
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'праз %s',
|
||||
past : '%s таму',
|
||||
s : 'некалькі секунд',
|
||||
m : relativeTimeWithPlural,
|
||||
mm : relativeTimeWithPlural,
|
||||
h : relativeTimeWithPlural,
|
||||
hh : relativeTimeWithPlural,
|
||||
d : 'дзень',
|
||||
dd : relativeTimeWithPlural,
|
||||
M : 'месяц',
|
||||
MM : relativeTimeWithPlural,
|
||||
y : 'год',
|
||||
yy : relativeTimeWithPlural
|
||||
},
|
||||
meridiemParse: /ночы|раніцы|дня|вечара/,
|
||||
isPM : function (input) {
|
||||
return /^(дня|вечара)$/.test(input);
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'ночы';
|
||||
} else if (hour < 12) {
|
||||
return 'раніцы';
|
||||
} else if (hour < 17) {
|
||||
return 'дня';
|
||||
} else {
|
||||
return 'вечара';
|
||||
}
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
|
||||
ordinal: function (number, period) {
|
||||
switch (period) {
|
||||
case 'M':
|
||||
case 'd':
|
||||
case 'DDD':
|
||||
case 'w':
|
||||
case 'W':
|
||||
return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
|
||||
case 'D':
|
||||
return number + '-га';
|
||||
default:
|
||||
return number;
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,922 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%
|
||||
String cntx = request.getContextPath();
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/include/include-header.jspf" %>
|
||||
<link rel="stylesheet" href="<%=cntx%>/vendor/bootstrap-multiselect-2.0/dist/css/bootstrap-multiselect.css" type="text/css">
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>상담사별 현황</title>
|
||||
|
||||
<script type="text/javascript" src="<%=cntx%>/vendor/bootstrap-multiselect-2.0/dist/js/bootstrap-multiselect.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height: 98%
|
||||
}
|
||||
*{margin:0; padding:0;}
|
||||
body{font:12px "맑은고딕";margin:5px;}
|
||||
.jui .navbar {
|
||||
padding: 10px 15px 5px 15px;
|
||||
}
|
||||
.alert {
|
||||
padding: 2px 2px 2px 10px;
|
||||
}
|
||||
.container-fluid {
|
||||
width: 100%;
|
||||
padding-right: 0px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
color: rgb(51, 51, 51);
|
||||
background-color: rgb(255, 255, 255);
|
||||
background-image: -webkit-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(230, 230, 230) 100%);
|
||||
box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px inset;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgb(217, 217, 217);
|
||||
border-image: initial;
|
||||
padding: 10px 10px 10px 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 12px;
|
||||
overflow: visible;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.card-header {
|
||||
padding: 6px 2px 2px 2px;
|
||||
}
|
||||
.card-body {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
var tmpdate = new Date();
|
||||
var ws;
|
||||
var current_array = [];
|
||||
var ready_array = [];
|
||||
var talk_array = [];
|
||||
var acw_array = [];
|
||||
var nr1_array = [];
|
||||
var nr34_array = [];
|
||||
var nr2_array = [];
|
||||
var deptname = "파크";
|
||||
var icon = "";
|
||||
|
||||
function lpad(s,c,n){
|
||||
if(!s || !c || s.length >= n){
|
||||
return s;
|
||||
}
|
||||
var max = (n - s.length)/c.length;
|
||||
for(var i=0; i<max; i++){
|
||||
s=c+s;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
function interceptionExtno(extNo){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "http://localhost:5312/requestListen.do",
|
||||
data : "param={\"rpt\":\"\",\"rnm\":\"stateview" +
|
||||
"\",\"rno\":\"" + extNo +
|
||||
"\",\"rip\":\"172.22.240.54" +
|
||||
"\",\"rcn\":\"" + '-1' +
|
||||
"\",\"uid\":\"" + '' +
|
||||
"\",\"unm\":\"" + '' +
|
||||
"\"}",
|
||||
dataType: "jsonp",
|
||||
timeout: 10000,
|
||||
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
error:function(data, a, b) {
|
||||
alert("청취요청오류입니다");
|
||||
}
|
||||
});
|
||||
}
|
||||
/*
|
||||
$(function(){
|
||||
document.getElementById('gubun').value = "1_106";
|
||||
var queryString = $("form[name=frm]").serialize();
|
||||
$.ajax({
|
||||
url:"<%=cntx%>/ctiInfo/agentGroupList.do",
|
||||
data : queryString,
|
||||
type:"post",
|
||||
datatype:"json",
|
||||
success:function(args){
|
||||
var frm1 = document.frm;
|
||||
var op;
|
||||
//frm1.selGroup.options.length = 0;
|
||||
if(args.row != null){
|
||||
for(var i=0; i<args.rows.length; i++){
|
||||
op = new Option();
|
||||
op.value = args.rows[i].OBJ_ID;
|
||||
op.text = args.rows[i].OBJ_NM;
|
||||
frm1.selGroup.options.add(op);
|
||||
}
|
||||
}
|
||||
},
|
||||
error : function(x,o,e){
|
||||
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
||||
alert(msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
*/
|
||||
//상담그룹에 속하는 상담사 목록 리턴
|
||||
function getAgentList(tgtGrpId){
|
||||
var queryString = $("form[name=frm]").serialize() ;
|
||||
$.ajax({
|
||||
url:"<%=cntx%>/ctiInfo/agentList.do",
|
||||
type:"post",
|
||||
data : queryString,
|
||||
datatype:"json",
|
||||
success:function(args){
|
||||
$('#selAgent').multiselect();
|
||||
var data = [];
|
||||
for(var j=0; j<args.rows.length; j++){
|
||||
var group = {label: args.rows[j].OBJECT_NM,
|
||||
value: args.rows[j].OBJECT_ID
|
||||
}
|
||||
data.push(group);
|
||||
}
|
||||
$('#selAgent').multiselect('dataprovider', data);
|
||||
},
|
||||
error : function(x,o,e){
|
||||
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
||||
alert(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//"웹소켓 접속" 버튼을 클릭했을때
|
||||
function btnLogin_onclick() {
|
||||
if(ws != null){
|
||||
ws.close();
|
||||
ws = null;
|
||||
}
|
||||
//웹소켓을 지원하는 브라우저이면
|
||||
if ("WebSocket" in window) {
|
||||
//웹소켓 서버에 접속한다.
|
||||
ws = new WebSocket("ws://172.22.240.23:14003");
|
||||
//ws = new WebSocket("ws://127.0.0.1:14003");
|
||||
|
||||
//웹소켓이 접속되었음.
|
||||
ws.onopen = function() {
|
||||
//var sendstr = "REGIST|" + "STAT^2000";
|
||||
var sendstr = "REGIST|" + "STAT^1234567";
|
||||
ws.send(sendstr);
|
||||
};
|
||||
//웹소켓 서버에서 메세지가 전송되었음.
|
||||
ws.onmessage = function(evt) {
|
||||
EventHandler(evt.data);
|
||||
};
|
||||
//웹소켓이 종료되었음.
|
||||
ws.onclose = function() {
|
||||
//document.getElementById("ConnectYn").value = "연결끊김";
|
||||
//document.getElementById("btnLogin").disabled = false;
|
||||
//document.getElementById("btnLogout").disabled = true;
|
||||
//flag = true;
|
||||
};
|
||||
//웹소켓 접속중 에러가 발생하였음.
|
||||
ws.onerror = function(e) {
|
||||
alert("Server error:" + e);
|
||||
};
|
||||
|
||||
} else {
|
||||
alert("브라우저가 웹소켓을 지원하지 않습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
//"웹소켓 끊기" 버튼을 클릭했을때
|
||||
function btnLogout_onclick() {
|
||||
ws.close();
|
||||
}
|
||||
|
||||
//ws.onmessage에서 받은 CTI 이벤트를 파싱하고 처리한다.
|
||||
function EventHandler(evtStr){
|
||||
var array_Stat;
|
||||
array_EvtStr = splitString(evtStr, "_");
|
||||
if(array_EvtStr != null){
|
||||
for(var i=0; i<array_EvtStr.length; i++){
|
||||
array_Stat = null;
|
||||
array_Stat = splitString(array_EvtStr[i], "=");
|
||||
if(array_Stat != null){
|
||||
if(array_Stat[0] == "PARK.STAT"){ //센터현황
|
||||
STAT_Process(array_Stat[1]);
|
||||
}else if(array_Stat[0] == "PARK.CURRENT"){ //상담사별 상태
|
||||
CURRENT_Process(array_Stat[1]);
|
||||
}else if(array_Stat[0] == "MALL.STAT"){ //센터현황
|
||||
STAT_Process(array_Stat[1]);
|
||||
}else if(array_Stat[0] == "MALL.CURRENT"){ //상담사별 상태
|
||||
CURRENT_Process(array_Stat[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function fnSelectScreen(args){
|
||||
}
|
||||
|
||||
//상담사별 상태
|
||||
//사번*상태코드*지속시간*성명*전화번호
|
||||
function CURRENT_Process(args){
|
||||
var statName = "";
|
||||
current_array = []; //상세정보
|
||||
ready_array = []; //대기
|
||||
talk_array = []; //통화중
|
||||
acw_array = []; //후처리
|
||||
nr1_array = []; //휴식
|
||||
nr34_array = []; //교육/회의
|
||||
nr2_array = []; //식사
|
||||
array_Str = splitString(args, "@");
|
||||
if(array_Str != null){
|
||||
if(array_Str.length > 0){
|
||||
for(var j=0; j < array_Str.length; j++){
|
||||
statStrArray = splitString(array_Str[j], "*");
|
||||
var obj = new Object();
|
||||
obj.dept = deptname;
|
||||
obj.emp = statStrArray[0];
|
||||
obj.name = statStrArray[3];
|
||||
obj.ext = statStrArray[5];
|
||||
statName = getStatName(statStrArray[1]);
|
||||
obj.stat = statName;
|
||||
obj.icon = "<font size='3'><i class='" +icon+ "'></i></font>";
|
||||
obj.stat_org = statStrArray[1];
|
||||
obj.telno = statStrArray[4];
|
||||
obj.time = timeFormat(statStrArray[2]);
|
||||
obj.time_org = parseInt(statStrArray[2]);
|
||||
obj.ib = statStrArray[6];
|
||||
obj.ob = statStrArray[7];
|
||||
obj.rec = "<i class='fa fa-headphones' style='cursor: pointer;' onClick='interceptionExtno("+statStrArray[5]+");'></i>";
|
||||
|
||||
current_array.push(obj);
|
||||
if(statStrArray[1] == "4"){ //대기
|
||||
obj.gbn = "ready";
|
||||
ready_array.push(obj);
|
||||
}else if(statStrArray[1] == "19" || statStrArray[1] == "20" || statStrArray[1] == "21" || statStrArray[1] == "22" || statStrArray[1] == "26"){ //인바운드, 아웃바운드, 내선, 컨설트, unKnown
|
||||
obj.gbn = "talk";
|
||||
talk_array.push(obj);
|
||||
}else if(statStrArray[1] == "9"){ //후처리
|
||||
obj.gbn = "acw";
|
||||
acw_array.push(obj);
|
||||
}else if(statStrArray[1] == "81"){ //휴식
|
||||
obj.gbn = "nr1";
|
||||
nr1_array.push(obj);
|
||||
}else if(statStrArray[1] == "83" || statStrArray[1] == "84"){ //교육, 업무
|
||||
obj.gbn = "nr34";
|
||||
nr34_array.push(obj);
|
||||
}else if(statStrArray[1] == "82"){ //식사
|
||||
obj.gbn = "nr2";
|
||||
nr2_array.push(obj);
|
||||
}
|
||||
|
||||
}
|
||||
current_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org > b.time_org ? 1 : 0; //이름 오름차순
|
||||
//return a.name < b.name ? -1 : a.name < b.name ? 1 : 0; //이름 내임차순
|
||||
//return a.emp < b.emp ? -1 : a.emp > b.emp ? 1 : 0; //사번 오름차순
|
||||
//return a.emp < b.emp ? -1 : a.emp < b.emp ? 1 : 0; //사번 내림착순
|
||||
});
|
||||
ready_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
talk_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
acw_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
nr1_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
nr34_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
nr2_array.sort(function(a, b) { // 오름차순
|
||||
return a.time_org < b.time_org ? -1 : a.time_org < b.time_org ? 1 : 0; //이름 오름차순
|
||||
});
|
||||
$('#table_detail').bootstrapTable('load', current_array); //상세 테이블 데이터 세팅
|
||||
$('#table_detail').bootstrapTable('mergeCells', {index: 0, field: 'dept', rowspan: current_array.length}); //상세 테이블 첫째컬럼 머지
|
||||
$('#table_ready').bootstrapTable('load', ready_array); //간략 텝 대기 테이블 세팅
|
||||
$('#cnt_ready').val(ready_array.length); //대기중 카운트
|
||||
$('#table_talk').bootstrapTable('load', talk_array); //간략 텝 통화중 테이블 세팅
|
||||
$('#cnt_talk').val(talk_array.length); //통화중 카운트
|
||||
$('#table_acw').bootstrapTable('load', acw_array); //간략 텝 후처리 테이블 세팅
|
||||
$('#cnt_acw').val(acw_array.length); //후처리 카운트
|
||||
$('#table_nr_1').bootstrapTable('load', nr1_array); //간략 텝 휴식 테이블 세팅
|
||||
$('#cnt_nr_1').val(nr1_array.length); //휴식 카운트
|
||||
$('#table_nr_34').bootstrapTable('load', nr34_array); //간략 텝 교육/회의 테이블 세팅
|
||||
$('#cnt_nr_34').val(nr34_array.length); //교육/회의 카운트
|
||||
$('#table_nr_2').bootstrapTable('load', nr2_array); //간략 텝 식사중 테이블 세팅
|
||||
$('#cnt_nr_2').val(nr2_array.length); //식사 카운트
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//센터 현황
|
||||
//대기콜수^로그인수^대기상담사^통화중(인,아웃)^이석^후처리^통화중(인,아웃,내선,컨설트)^인바운드통화^아웃바운드통화
|
||||
function STAT_Process(args){
|
||||
array_Str = splitString(args, "^");
|
||||
document.getElementById("WaitCall").value = array_Str[0];
|
||||
document.getElementById("LoginAgent").value = array_Str[1];
|
||||
document.getElementById("ReadyAgent").value = array_Str[2];
|
||||
document.getElementById("TalkAgent").value = array_Str[6];
|
||||
document.getElementById("NotreadyAgent").value = array_Str[4];
|
||||
document.getElementById("AcwAgent").value = array_Str[5];
|
||||
var tmpEtc = array_Str[1] - array_Str[2] - array_Str[6] - array_Str[4] - array_Str[5];
|
||||
if(tmpEtc >= 0){
|
||||
document.getElementById("etcAgent").value = tmpEtc;
|
||||
}else {
|
||||
document.getElementById("etcAgent").value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function splitString(arrayString, splitChar) {
|
||||
if (arrayString == null || splitChar == null) {
|
||||
return null;
|
||||
}
|
||||
return arrayString.split(splitChar);
|
||||
}
|
||||
|
||||
function clearLog(){
|
||||
var x = document.getElementById("log");
|
||||
x.innerHTML = "";
|
||||
}
|
||||
|
||||
function timeFormat(seconds) {
|
||||
var rtnval = "";
|
||||
if(seconds == "" || seconds == null || seconds == NaN){
|
||||
rtnval = "00:00:00";
|
||||
}else{
|
||||
var pad = function(x) { return (x < 10) ? "0"+x : x; }
|
||||
rtnval = pad(parseInt(seconds / (60*60))) + ":" +
|
||||
pad(parseInt(seconds / 60 % 60)) + ":" +
|
||||
pad(seconds % 60);
|
||||
}
|
||||
if(rtnval == "NaN:NaN:NaN"){
|
||||
rtnval = "00:00:00";
|
||||
}
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
function getStatName(statValue){
|
||||
var rtnName = "";
|
||||
switch(statValue) {
|
||||
case("0"):
|
||||
rtnName = "모니터링 안함";
|
||||
icon = "";
|
||||
break;
|
||||
case("1"):
|
||||
rtnName = "모니터링중";
|
||||
icon = "";
|
||||
break;
|
||||
case("2"):
|
||||
rtnName = "로그인";
|
||||
icon = "fa fa-power-off";
|
||||
break;
|
||||
case("3"):
|
||||
rtnName = "수화기 내림";
|
||||
icon = "fa fa-chevron-down";
|
||||
break;
|
||||
case("4"):
|
||||
rtnName = "대기";
|
||||
icon = "fa fa-play-circle-o";
|
||||
break;
|
||||
case("5"):
|
||||
rtnName = "수화기듬";
|
||||
icon = "fa fa-chevron-up";
|
||||
break;
|
||||
case("6"):
|
||||
rtnName = "다이얼링중";
|
||||
icon = "fa fa-th";
|
||||
break;
|
||||
case("7"):
|
||||
rtnName = "벨울림중";
|
||||
icon = "fa fa-bell-o";
|
||||
break;
|
||||
case("8"):
|
||||
rtnName = "이석중";
|
||||
icon = "fa fa-user-times";
|
||||
break;
|
||||
case("81"):
|
||||
rtnName = "이석(휴식중)";
|
||||
icon = "fa fa-coffee";
|
||||
break;
|
||||
case("82"):
|
||||
rtnName = "이석(식사중)";
|
||||
icon = "fa fa-cutlery";
|
||||
break;
|
||||
case("83"):
|
||||
rtnName = "이석(교육중)";
|
||||
icon = "fa fa-graduation-cap";
|
||||
break;
|
||||
case("84"):
|
||||
rtnName = "이석(업무중)";
|
||||
icon = "fa fa-keyboard-o";
|
||||
break;
|
||||
case("9"):
|
||||
rtnName = "후처리중";
|
||||
icon = "fa fa-pencil";
|
||||
break;
|
||||
case("13"):
|
||||
rtnName = "통화대기";
|
||||
icon = "fa fa-pause-circle-o";
|
||||
break;
|
||||
case("19"):
|
||||
rtnName = "컨설트통화중";
|
||||
icon = "fa fa-users";
|
||||
break;
|
||||
case("20"):
|
||||
rtnName = "내선통화중";
|
||||
icon = "fa fa-volume-control-phone";
|
||||
break;
|
||||
case("21"):
|
||||
rtnName = "아웃바운드 통화중";
|
||||
icon = "fa fa-volume-control-phone";
|
||||
break;
|
||||
case("22"):
|
||||
rtnName = "인바운드 통화중";
|
||||
icon = "fa fa-volume-control-phone";
|
||||
break;
|
||||
case("23"):
|
||||
rtnName = "로그아웃";
|
||||
icon = "fa fa-times-circle";
|
||||
break;
|
||||
case("24"):
|
||||
rtnName = "다이얼완료";
|
||||
icon = "";
|
||||
break;
|
||||
case("25"):
|
||||
rtnName = "다이얼링중포기";
|
||||
icon = "fa fa-times";
|
||||
break;
|
||||
case("26"):
|
||||
rtnName = "통화중";
|
||||
icon = "fa fa-volume-control-phone";
|
||||
break;
|
||||
case("27"):
|
||||
rtnName = "벨울림중 포기";
|
||||
icon = "fa fa-times";
|
||||
break;
|
||||
case("28"):
|
||||
rtnName = "보류중";
|
||||
icon = "fa fa-volume-off";
|
||||
break;
|
||||
case("29"):
|
||||
rtnName = "보류해제";
|
||||
icon = "fa fa-volume-up";
|
||||
break;
|
||||
case("30"):
|
||||
rtnName = "보류중 포기";
|
||||
icon = "fa fa-times";
|
||||
break;
|
||||
case("31"):
|
||||
rtnName = "호전환 전송";
|
||||
icon = "";
|
||||
break;
|
||||
case("32"):
|
||||
rtnName = "착신전환";
|
||||
icon = "";
|
||||
break;
|
||||
case("33"):
|
||||
rtnName = "호전환 완료";
|
||||
icon = "";
|
||||
break;
|
||||
case("34"):
|
||||
rtnName = "컨퍼런스 전송";
|
||||
icon = "";
|
||||
break;
|
||||
case("35"):
|
||||
rtnName = "컨퍼런스 연결";
|
||||
icon = "";
|
||||
break;
|
||||
case("36"):
|
||||
rtnName = "다자통화중 통화자 추가";
|
||||
icon = "";
|
||||
break;
|
||||
case("37"):
|
||||
rtnName = "다자통화중 통화자 삭제";
|
||||
icon = "";
|
||||
break;
|
||||
case("38"):
|
||||
rtnName = "유저이벤트";
|
||||
icon = "";
|
||||
break;
|
||||
case("39"):
|
||||
rtnName = "다이얼링중(상태모름)";
|
||||
icon = "";
|
||||
break;
|
||||
case("40"):
|
||||
rtnName = "다이얼링중(내선)";
|
||||
icon = "fa fa-th";
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
return rtnName;
|
||||
}
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<form name="frm">
|
||||
<input type="hidden" id ="gubun" name="gubun" value="">
|
||||
<input type="hidden" id ="fromdt" name="fromdt" value="">
|
||||
<input type="hidden" id ="todt" name="todt" value="">
|
||||
<input type="hidden" id ="groups" name="groups" value="1_2_182">
|
||||
<input type="hidden" id ="agents" name="agents" value="">
|
||||
<input type="hidden" id ="qrymode" name="qrymode" value="">
|
||||
<div>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
정비예약파트 실시간 현황
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align: right; width: 30%;">
|
||||
<div>
|
||||
<span id="realTimer"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 메뉴 영역 시작-->
|
||||
<div class="container-fluid page-body-wrapper">
|
||||
<div class="navbar">
|
||||
<div class="col-12 col-md-12" style="display: inline-block;">
|
||||
[종합상담현황] 로그인 : 00명, 고객대기 : 0명, 상담사 대기 0명, 작업인원 : 0명, 상담중 : 0명, 휴식인원 : 0명
|
||||
</div>
|
||||
</div>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td align="left" style="height:40px; width:150px; vertical-align: center; background-color: RGB(242,222,222); border-top-left-radius: 3px; border-top-right-radius: 3px;">
|
||||
대기고객 : <input type="text" id="WaitCall" size="3" class="input mini" style="text-align: center;" />
|
||||
</td>
|
||||
<td style="width:5px;">
|
||||
</td>
|
||||
<td align="left" style="height:40px; vertical-align: center; background-color: RGB(242,222,222); border-top-left-radius: 3px; border-top-right-radius: 3px;">
|
||||
전체 : <input type="text" id="LoginAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
통화중 : <input type="text" id="TalkAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
대기중 : <input type="text" id="ReadyAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
후처리중 : <input type="text" id="AcwAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
이석중 : <input type="text" id="NotreadyAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
기타 : <input type="text" id="etcAgent" size="3" class="input mini" style="text-align: center;" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="detail-tab" data-toggle="tab" href="#detail" role="tab" aria-controls="detail" aria-selected="true" onclick="fnSelectScreen('Detail');">상세정보</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="simple-tab" data-toggle="tab" href="#simple" role="tab" aria-controls="simple" aria-selected="false" onclick="fnSelectScreen('Simple');">간략정보</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="detail" role="tabpanel" aria-labelledby="detail-tab" style="padding-top: 10px;">
|
||||
<table id="table_detail" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="asc" data-sortable="true" data-show-columns="false" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name" data-sortable="true">상담사</th>
|
||||
<th data-field="emp" data-sortable="true">CTI ID</th>
|
||||
<th data-field="ext" data-sortable="true">내선번호</th>
|
||||
<th data-field="icon">아이콘</th>
|
||||
<th data-field="stat" data-sortable="true">상담사 상태</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태</th>
|
||||
<th data-field="time" data-sortable="true">지속시간</th>
|
||||
<th data-field="time_org" data-sortable="true" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="ib" data-sortable="true">인바운드</th>
|
||||
<th data-field="ob" data-sortable="true">아웃바운드</th>
|
||||
<th data-field="telno">고객정보</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="simple" role="tabpanel" aria-labelledby="simple-tab" style="padding-top: 10px;">
|
||||
<table style="width: 98%">
|
||||
<tr>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-play-circle-o" aria-hidden="true"></i> 대기중</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_ready" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="ready_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_ready" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-volume-control-phone" aria-hidden="true"></i> 통화중</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_talk" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="talk_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_talk" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="telno">고객정보</th>
|
||||
<th data-field="rec">감청</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태코드</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-pencil" aria-hidden="true"></i> 후처리중</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_acw" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="acw_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_acw" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태코드</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-coffee" aria-hidden="true"></i> 휴식</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_nr_1" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="nr1_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_nr_1" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center; ">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태코드</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-keyboard-o" aria-hidden="true"></i> 교육/업무</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_nr_34" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="nr34_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_nr_34" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태코드</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width: 33.3%; padding: 2px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="col" style="font-weight: bold;"> <i class="fa fa-cutlery" aria-hidden="true"></i> 식사중</div>
|
||||
<div class="col" style="text-align: right;"><input type="text" size="3" id="cnt_nr_2" readonly="readonly" style="text-align: right;"> <input type="text" size="3" id="nr2_time" class="input_change" style="text-align: right; background-color: rgb(214, 216, 217);"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table id="table_nr_2" class="table-sm" data-height="400" data-virtual-scroll="true" data-sort-name="time" data-sort-order="desc" data-show-columns="false" data-row-style="rowStyle" style="text-align: center;">
|
||||
<thead style="text-align: center;">
|
||||
<tr>
|
||||
<th data-field="dept">소속</th>
|
||||
<th data-field="name">상담사</th>
|
||||
<th data-field="time">지속시간</th>
|
||||
<th data-field="time_org" data-visible="false">지속시간(sec)</th>
|
||||
<th data-field="stat_org" data-visible="false">상담사 상태코드</th>
|
||||
<th data-field="gbn" data-visible="false">그리드구분</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
//[조회] 버튼 누르기
|
||||
$("#btnSearch").click(function(e) {
|
||||
btnLogin_onclick();
|
||||
});
|
||||
|
||||
function selGroupChanged(){
|
||||
//getAgentList($("#selGroup option:selected").val());
|
||||
}
|
||||
|
||||
function rowStyle(row, index) {
|
||||
//console.log(index);
|
||||
}
|
||||
|
||||
$(".input_change").change(function(){
|
||||
localStorage.setItem('stat.' + this.id, $('#'+this.id).val());
|
||||
});
|
||||
|
||||
$(function() {
|
||||
var ready_time = localStorage.getItem('stat.ready_time');
|
||||
var talk_time = localStorage.getItem('stat.talk_time');
|
||||
var acw_time = localStorage.getItem('stat.acw_time');
|
||||
var nr1_time = localStorage.getItem('stat.nr1_time');
|
||||
var nr34_time = localStorage.getItem('stat.nr34_time');
|
||||
var nr2_time = localStorage.getItem('stat.nr2_time');
|
||||
|
||||
var grid_height = window.innerHeight - 260;
|
||||
var grid_height2 = (window.innerHeight - 320) /2;
|
||||
var dt = [];
|
||||
$('#table_detail').bootstrapTable({data: dt});
|
||||
$('#table_ready').bootstrapTable({data: dt});
|
||||
$('#table_talk').bootstrapTable({data: dt});
|
||||
$('#table_acw').bootstrapTable({data: dt});
|
||||
$('#table_nr_1').bootstrapTable({data: dt});
|
||||
$('#table_nr_34').bootstrapTable({data: dt});
|
||||
$('#table_nr_2').bootstrapTable({data: dt});
|
||||
|
||||
$('#table_detail').bootstrapTable('resetView' , {height: grid_height});
|
||||
$('#table_ready').bootstrapTable('resetView' , {height: grid_height2});
|
||||
$('#table_talk').bootstrapTable('resetView' , {height: grid_height2});
|
||||
$('#table_acw').bootstrapTable('resetView' , {height: grid_height2});
|
||||
$('#table_nr_1').bootstrapTable('resetView' , {height: grid_height2});
|
||||
$('#table_nr_34').bootstrapTable('resetView' , {height: grid_height2});
|
||||
$('#table_nr_2').bootstrapTable('resetView' , {height: grid_height2});
|
||||
|
||||
if(ready_time == null){
|
||||
ready_time = "500";
|
||||
}
|
||||
$('#ready_time').val(ready_time);
|
||||
|
||||
if(talk_time == null){
|
||||
talk_time = "600";
|
||||
}
|
||||
$('#talk_time').val(talk_time);
|
||||
|
||||
if(acw_time == null){
|
||||
acw_time = "60";
|
||||
}
|
||||
$('#acw_time').val(acw_time);
|
||||
|
||||
if(nr1_time == null){
|
||||
nr1_time = "1800";
|
||||
}
|
||||
$('#nr1_time').val(nr1_time);
|
||||
|
||||
if(nr34_time == null){
|
||||
nr34_time = "3000";
|
||||
}
|
||||
$('#nr34_time').val(nr34_time);
|
||||
|
||||
if(nr2_time == null){
|
||||
nr2_time = "1800";
|
||||
}
|
||||
$('#nr2_time').val(nr2_time);
|
||||
|
||||
});
|
||||
|
||||
function rowStyle(row, index) {
|
||||
var tm = 0;
|
||||
if(row.gbn == "ready"){
|
||||
tm = parseInt($('#ready_time').val());
|
||||
}else if(row.gbn == "talk"){
|
||||
tm = parseInt($('#talk_time').val());
|
||||
}else if(row.gbn == "acw"){
|
||||
tm = parseInt($('#acw_time').val());
|
||||
}else if(row.gbn == "nr1"){
|
||||
tm = parseInt($('#nr1_time').val());
|
||||
}else if(row.gbn == "nr34"){
|
||||
tm = parseInt($('#nr34_time').val());
|
||||
}else if(row.gbn == "nr2"){
|
||||
tm = parseInt($('#nr2_time').val());
|
||||
}
|
||||
|
||||
if(row.time_org >= tm){
|
||||
return {
|
||||
css: {
|
||||
color: 'black',
|
||||
background : '#F3E3F3'
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return {
|
||||
css: {
|
||||
color: 'black'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function leadingZeros(n, digits) {
|
||||
var zero = '';
|
||||
n = n.toString();
|
||||
if (n.length < digits) {
|
||||
for (i = 0; i < digits - n.length; i++)
|
||||
zero += '0';
|
||||
}
|
||||
return zero + n;
|
||||
}
|
||||
|
||||
function timer(){
|
||||
var d = new Date();
|
||||
|
||||
var date = leadingZeros(d.getFullYear(), 4) + '년 ' +
|
||||
leadingZeros(d.getMonth() + 1, 2) + '월 ' +
|
||||
leadingZeros(d.getDate(), 2) + '일 ';
|
||||
|
||||
var time = leadingZeros(d.getHours(), 2) + '시 ' +
|
||||
leadingZeros(d.getMinutes(), 2) + '분 ';
|
||||
|
||||
var txt_time = date + "<br>" + time;
|
||||
return txt_time;
|
||||
}
|
||||
|
||||
function setData(){
|
||||
}
|
||||
|
||||
function get_timer(){
|
||||
setData();
|
||||
// 함수값 불러와서, 태그 안에 집어넣기.
|
||||
var timetxt = timer();
|
||||
if( document.getElementById( "realTimer" ) ){ //페이지가 로드되지 않았을때 객체가 null일경우 에러발생됨
|
||||
document.getElementById( "realTimer" ).innerHTML = timetxt;
|
||||
}
|
||||
|
||||
// 1000 밀리초(=1초) 후에, 이 함수를 실행하기 (반복 실행 효과).
|
||||
setTimeout( "get_timer()", 1000 );
|
||||
}
|
||||
|
||||
$(window).ready(function(){
|
||||
// (페이지가 로드되면) 함수를 불러오기.
|
||||
//alert("wall1 load");
|
||||
var callFunction = get_timer();
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,46 @@
|
|||
server:
|
||||
port: 80
|
||||
servlet:
|
||||
jsp:
|
||||
init-parameters:
|
||||
development : true
|
||||
---
|
||||
spring:
|
||||
profiles:
|
||||
active: dev
|
||||
datasource:
|
||||
driver-class-name: oracle.jdbc.OracleDriver
|
||||
---
|
||||
mybatis:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
configuration:
|
||||
lazyLoadingEnabled: true
|
||||
aggressiveLazyLoading: false
|
||||
mapUnderscoreToCamelCase: true
|
||||
---
|
||||
spring:
|
||||
profiles: local
|
||||
datasource:
|
||||
url: jdbc:oracle:thin:@111.222.111.111:1521:SIDHERE
|
||||
username: user
|
||||
password: password
|
||||
connectionTimeout : 30000
|
||||
---
|
||||
spring:
|
||||
profiles: dev
|
||||
datasource:
|
||||
url: jdbc:oracle:thin:@172.168.30.3:1521/KIHASA
|
||||
username: KIHASA
|
||||
password: KIHASA
|
||||
connectionTimeout : 30000
|
||||
---
|
||||
spring:
|
||||
mvc:
|
||||
view:
|
||||
prefix : /WEB-INF/jsp
|
||||
suffix : .jsp
|
||||
---
|
||||
spring:
|
||||
task:
|
||||
name : HONG
|
||||
fixedDelay : 5000
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,33 @@
|
|||
package kr.co.i4way.genesys.config;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.genesyslab.platform.applicationblocks.com.ConfigException;
|
||||
import com.genesyslab.platform.applicationblocks.com.IConfService;
|
||||
import com.genesyslab.platform.applicationblocks.com.objects.CfgFolder;
|
||||
import com.genesyslab.platform.applicationblocks.com.queries.CfgFolderQuery;
|
||||
import com.genesyslab.platform.configuration.protocol.types.CfgObjectType;
|
||||
|
||||
public class Folder {
|
||||
|
||||
public Folder(){
|
||||
}
|
||||
|
||||
public Collection<CfgFolder> SelectCfgFolder(int folderDbid, String folderName, CfgObjectType objtype,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
Collection<CfgFolder> folder = null;
|
||||
CfgFolderQuery folderquery = new CfgFolderQuery();
|
||||
if(folderDbid > 0){
|
||||
folderquery.setDbid(folderDbid);
|
||||
}
|
||||
if(folderName != null){
|
||||
folderquery.setName(folderName);
|
||||
}
|
||||
folderquery.setType(objtype.asInteger());
|
||||
folder = service.retrieveMultipleObjects(CfgFolder.class,
|
||||
folderquery);
|
||||
return folder;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : English (Israel) [en-il]
|
||||
//! author : Chris Gedrim : https://github.com/chrisgedrim
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('en-il', {
|
||||
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
||||
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
||||
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
||||
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
||||
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Today at] LT',
|
||||
nextDay : '[Tomorrow at] LT',
|
||||
nextWeek : 'dddd [at] LT',
|
||||
lastDay : '[Yesterday at] LT',
|
||||
lastWeek : '[Last] dddd [at] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'in %s',
|
||||
past : '%s ago',
|
||||
s : 'a few seconds',
|
||||
m : 'a minute',
|
||||
mm : '%d minutes',
|
||||
h : 'an hour',
|
||||
hh : '%d hours',
|
||||
d : 'a day',
|
||||
dd : '%d days',
|
||||
M : 'a month',
|
||||
MM : '%d months',
|
||||
y : 'a year',
|
||||
yy : '%d years'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
|
||||
ordinal : function (number) {
|
||||
var b = number % 10,
|
||||
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
||||
(b === 1) ? 'st' :
|
||||
(b === 2) ? 'nd' :
|
||||
(b === 3) ? 'rd' : 'th';
|
||||
return number + output;
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,116 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Punjabi (India) [pa-in]
|
||||
//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var symbolMap = {
|
||||
'1': '੧',
|
||||
'2': '੨',
|
||||
'3': '੩',
|
||||
'4': '੪',
|
||||
'5': '੫',
|
||||
'6': '੬',
|
||||
'7': '੭',
|
||||
'8': '੮',
|
||||
'9': '੯',
|
||||
'0': '੦'
|
||||
},
|
||||
numberMap = {
|
||||
'੧': '1',
|
||||
'੨': '2',
|
||||
'੩': '3',
|
||||
'੪': '4',
|
||||
'੫': '5',
|
||||
'੬': '6',
|
||||
'੭': '7',
|
||||
'੮': '8',
|
||||
'੯': '9',
|
||||
'੦': '0'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('pa-in', {
|
||||
// There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
|
||||
months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
|
||||
monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
|
||||
weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
|
||||
weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
|
||||
weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'A h:mm ਵਜੇ',
|
||||
LTS : 'A h:mm:ss ਵਜੇ',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
|
||||
LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[ਅਜ] LT',
|
||||
nextDay : '[ਕਲ] LT',
|
||||
nextWeek : '[ਅਗਲਾ] dddd, LT',
|
||||
lastDay : '[ਕਲ] LT',
|
||||
lastWeek : '[ਪਿਛਲੇ] dddd, LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s ਵਿੱਚ',
|
||||
past : '%s ਪਿਛਲੇ',
|
||||
s : 'ਕੁਝ ਸਕਿੰਟ',
|
||||
ss : '%d ਸਕਿੰਟ',
|
||||
m : 'ਇਕ ਮਿੰਟ',
|
||||
mm : '%d ਮਿੰਟ',
|
||||
h : 'ਇੱਕ ਘੰਟਾ',
|
||||
hh : '%d ਘੰਟੇ',
|
||||
d : 'ਇੱਕ ਦਿਨ',
|
||||
dd : '%d ਦਿਨ',
|
||||
M : 'ਇੱਕ ਮਹੀਨਾ',
|
||||
MM : '%d ਮਹੀਨੇ',
|
||||
y : 'ਇੱਕ ਸਾਲ',
|
||||
yy : '%d ਸਾਲ'
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
|
||||
return numberMap[match];
|
||||
});
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
});
|
||||
},
|
||||
// Punjabi notation for meridiems are quite fuzzy in practice. While there exists
|
||||
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
|
||||
meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'ਰਾਤ') {
|
||||
return hour < 4 ? hour : hour + 12;
|
||||
} else if (meridiem === 'ਸਵੇਰ') {
|
||||
return hour;
|
||||
} else if (meridiem === 'ਦੁਪਹਿਰ') {
|
||||
return hour >= 10 ? hour : hour + 12;
|
||||
} else if (meridiem === 'ਸ਼ਾਮ') {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'ਰਾਤ';
|
||||
} else if (hour < 10) {
|
||||
return 'ਸਵੇਰ';
|
||||
} else if (hour < 17) {
|
||||
return 'ਦੁਪਹਿਰ';
|
||||
} else if (hour < 20) {
|
||||
return 'ਸ਼ਾਮ';
|
||||
} else {
|
||||
return 'ਰਾਤ';
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 0, // Sunday is the first day of the week.
|
||||
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Ukrainian [uk]
|
||||
//! author : zemlanin : https://github.com/zemlanin
|
||||
//! Author : Menelion Elensúle : https://github.com/Oire
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
function plural(word, num) {
|
||||
var forms = word.split('_');
|
||||
return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
|
||||
}
|
||||
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
||||
var format = {
|
||||
'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
|
||||
'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
|
||||
'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
|
||||
'dd': 'день_дні_днів',
|
||||
'MM': 'місяць_місяці_місяців',
|
||||
'yy': 'рік_роки_років'
|
||||
};
|
||||
if (key === 'm') {
|
||||
return withoutSuffix ? 'хвилина' : 'хвилину';
|
||||
}
|
||||
else if (key === 'h') {
|
||||
return withoutSuffix ? 'година' : 'годину';
|
||||
}
|
||||
else {
|
||||
return number + ' ' + plural(format[key], +number);
|
||||
}
|
||||
}
|
||||
function weekdaysCaseReplace(m, format) {
|
||||
var weekdays = {
|
||||
'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
|
||||
'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
|
||||
'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
|
||||
};
|
||||
|
||||
if (!m) {
|
||||
return weekdays['nominative'];
|
||||
}
|
||||
|
||||
var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
|
||||
'accusative' :
|
||||
((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
|
||||
'genitive' :
|
||||
'nominative');
|
||||
return weekdays[nounCase][m.day()];
|
||||
}
|
||||
function processHoursFunction(str) {
|
||||
return function () {
|
||||
return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
|
||||
};
|
||||
}
|
||||
|
||||
export default moment.defineLocale('uk', {
|
||||
months : {
|
||||
'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
|
||||
'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
|
||||
},
|
||||
monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
|
||||
weekdays : weekdaysCaseReplace,
|
||||
weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
|
||||
weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D MMMM YYYY р.',
|
||||
LLL : 'D MMMM YYYY р., HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY р., HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay: processHoursFunction('[Сьогодні '),
|
||||
nextDay: processHoursFunction('[Завтра '),
|
||||
lastDay: processHoursFunction('[Вчора '),
|
||||
nextWeek: processHoursFunction('[У] dddd ['),
|
||||
lastWeek: function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
return processHoursFunction('[Минулої] dddd [').call(this);
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
return processHoursFunction('[Минулого] dddd [').call(this);
|
||||
}
|
||||
},
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'за %s',
|
||||
past : '%s тому',
|
||||
s : 'декілька секунд',
|
||||
ss : relativeTimeWithPlural,
|
||||
m : relativeTimeWithPlural,
|
||||
mm : relativeTimeWithPlural,
|
||||
h : 'годину',
|
||||
hh : relativeTimeWithPlural,
|
||||
d : 'день',
|
||||
dd : relativeTimeWithPlural,
|
||||
M : 'місяць',
|
||||
MM : relativeTimeWithPlural,
|
||||
y : 'рік',
|
||||
yy : relativeTimeWithPlural
|
||||
},
|
||||
// M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
|
||||
meridiemParse: /ночі|ранку|дня|вечора/,
|
||||
isPM: function (input) {
|
||||
return /^(дня|вечора)$/.test(input);
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'ночі';
|
||||
} else if (hour < 12) {
|
||||
return 'ранку';
|
||||
} else if (hour < 17) {
|
||||
return 'дня';
|
||||
} else {
|
||||
return 'вечора';
|
||||
}
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
|
||||
ordinal: function (number, period) {
|
||||
switch (period) {
|
||||
case 'M':
|
||||
case 'd':
|
||||
case 'DDD':
|
||||
case 'w':
|
||||
case 'W':
|
||||
return number + '-й';
|
||||
case 'D':
|
||||
return number + '-го';
|
||||
default:
|
||||
return number;
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,721 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
var O = 'object';
|
||||
var check = function (it) {
|
||||
return it && it.Math == Math && it;
|
||||
};
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global_1 =
|
||||
// eslint-disable-next-line no-undef
|
||||
check(typeof globalThis == O && globalThis) ||
|
||||
check(typeof window == O && window) ||
|
||||
check(typeof self == O && self) ||
|
||||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function('return this')();
|
||||
|
||||
var fails = function (exec) {
|
||||
try {
|
||||
return !!exec();
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var descriptors = !fails(function () {
|
||||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||
});
|
||||
|
||||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// Nashorn ~ JDK8 bug
|
||||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||||
|
||||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||||
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||||
return !!descriptor && descriptor.enumerable;
|
||||
} : nativePropertyIsEnumerable;
|
||||
|
||||
var objectPropertyIsEnumerable = {
|
||||
f: f
|
||||
};
|
||||
|
||||
var createPropertyDescriptor = function (bitmap, value) {
|
||||
return {
|
||||
enumerable: !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable: !(bitmap & 4),
|
||||
value: value
|
||||
};
|
||||
};
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
var classofRaw = function (it) {
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
var split = ''.split;
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var indexedObject = fails(function () {
|
||||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
return !Object('z').propertyIsEnumerable(0);
|
||||
}) ? function (it) {
|
||||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||||
} : Object;
|
||||
|
||||
// `RequireObjectCoercible` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||||
var requireObjectCoercible = function (it) {
|
||||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
// toObject with fallback for non-array-like ES3 strings
|
||||
|
||||
|
||||
|
||||
var toIndexedObject = function (it) {
|
||||
return indexedObject(requireObjectCoercible(it));
|
||||
};
|
||||
|
||||
var isObject = function (it) {
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
// `ToPrimitive` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||||
if (!isObject(input)) return input;
|
||||
var fn, val;
|
||||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
|
||||
var has = function (it, key) {
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
var document = global_1.document;
|
||||
// typeof document.createElement is 'object' in old IE
|
||||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||||
|
||||
var documentCreateElement = function (it) {
|
||||
return EXISTS ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var ie8DomDefine = !descriptors && !fails(function () {
|
||||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
});
|
||||
|
||||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||||
O = toIndexedObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeGetOwnPropertyDescriptor(O, P);
|
||||
} catch (error) { /* empty */ }
|
||||
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyDescriptor = {
|
||||
f: f$1
|
||||
};
|
||||
|
||||
var anObject = function (it) {
|
||||
if (!isObject(it)) {
|
||||
throw TypeError(String(it) + ' is not an object');
|
||||
} return it;
|
||||
};
|
||||
|
||||
var nativeDefineProperty = Object.defineProperty;
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||||
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeDefineProperty(O, P, Attributes);
|
||||
} catch (error) { /* empty */ }
|
||||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||||
if ('value' in Attributes) O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
var objectDefineProperty = {
|
||||
f: f$2
|
||||
};
|
||||
|
||||
var hide = descriptors ? function (object, key, value) {
|
||||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||||
} : function (object, key, value) {
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
var setGlobal = function (key, value) {
|
||||
try {
|
||||
hide(global_1, key, value);
|
||||
} catch (error) {
|
||||
global_1[key] = value;
|
||||
} return value;
|
||||
};
|
||||
|
||||
var shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = global_1[SHARED] || setGlobal(SHARED, {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.1.3',
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var functionToString = shared('native-function-to-string', Function.toString);
|
||||
|
||||
var WeakMap = global_1.WeakMap;
|
||||
|
||||
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
|
||||
|
||||
var id = 0;
|
||||
var postfix = Math.random();
|
||||
|
||||
var uid = function (key) {
|
||||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||||
};
|
||||
|
||||
var keys = shared('keys');
|
||||
|
||||
var sharedKey = function (key) {
|
||||
return keys[key] || (keys[key] = uid(key));
|
||||
};
|
||||
|
||||
var hiddenKeys = {};
|
||||
|
||||
var WeakMap$1 = global_1.WeakMap;
|
||||
var set, get, has$1;
|
||||
|
||||
var enforce = function (it) {
|
||||
return has$1(it) ? get(it) : set(it, {});
|
||||
};
|
||||
|
||||
var getterFor = function (TYPE) {
|
||||
return function (it) {
|
||||
var state;
|
||||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||||
} return state;
|
||||
};
|
||||
};
|
||||
|
||||
if (nativeWeakMap) {
|
||||
var store = new WeakMap$1();
|
||||
var wmget = store.get;
|
||||
var wmhas = store.has;
|
||||
var wmset = store.set;
|
||||
set = function (it, metadata) {
|
||||
wmset.call(store, it, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return wmget.call(store, it) || {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return wmhas.call(store, it);
|
||||
};
|
||||
} else {
|
||||
var STATE = sharedKey('state');
|
||||
hiddenKeys[STATE] = true;
|
||||
set = function (it, metadata) {
|
||||
hide(it, STATE, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return has(it, STATE) ? it[STATE] : {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return has(it, STATE);
|
||||
};
|
||||
}
|
||||
|
||||
var internalState = {
|
||||
set: set,
|
||||
get: get,
|
||||
has: has$1,
|
||||
enforce: enforce,
|
||||
getterFor: getterFor
|
||||
};
|
||||
|
||||
var redefine = createCommonjsModule(function (module) {
|
||||
var getInternalState = internalState.get;
|
||||
var enforceInternalState = internalState.enforce;
|
||||
var TEMPLATE = String(functionToString).split('toString');
|
||||
|
||||
shared('inspectSource', function (it) {
|
||||
return functionToString.call(it);
|
||||
});
|
||||
|
||||
(module.exports = function (O, key, value, options) {
|
||||
var unsafe = options ? !!options.unsafe : false;
|
||||
var simple = options ? !!options.enumerable : false;
|
||||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||||
if (typeof value == 'function') {
|
||||
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||||
}
|
||||
if (O === global_1) {
|
||||
if (simple) O[key] = value;
|
||||
else setGlobal(key, value);
|
||||
return;
|
||||
} else if (!unsafe) {
|
||||
delete O[key];
|
||||
} else if (!noTargetGet && O[key]) {
|
||||
simple = true;
|
||||
}
|
||||
if (simple) O[key] = value;
|
||||
else hide(O, key, value);
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, 'toString', function toString() {
|
||||
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
var path = global_1;
|
||||
|
||||
var aFunction = function (variable) {
|
||||
return typeof variable == 'function' ? variable : undefined;
|
||||
};
|
||||
|
||||
var getBuiltIn = function (namespace, method) {
|
||||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
|
||||
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
|
||||
};
|
||||
|
||||
var ceil = Math.ceil;
|
||||
var floor = Math.floor;
|
||||
|
||||
// `ToInteger` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||||
var toInteger = function (argument) {
|
||||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||||
};
|
||||
|
||||
var min = Math.min;
|
||||
|
||||
// `ToLength` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tolength
|
||||
var toLength = function (argument) {
|
||||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
var max = Math.max;
|
||||
var min$1 = Math.min;
|
||||
|
||||
// Helper for a popular repeating case of the spec:
|
||||
// Let integer be ? ToInteger(index).
|
||||
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||||
var toAbsoluteIndex = function (index, length) {
|
||||
var integer = toInteger(index);
|
||||
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
|
||||
};
|
||||
|
||||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||||
var createMethod = function (IS_INCLUDES) {
|
||||
return function ($this, el, fromIndex) {
|
||||
var O = toIndexedObject($this);
|
||||
var length = toLength(O.length);
|
||||
var index = toAbsoluteIndex(fromIndex, length);
|
||||
var value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (IS_INCLUDES && el != el) while (length > index) {
|
||||
value = O[index++];
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (value != value) return true;
|
||||
// Array#indexOf ignores holes, Array#includes - not
|
||||
} else for (;length > index; index++) {
|
||||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
var arrayIncludes = {
|
||||
// `Array.prototype.includes` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||||
includes: createMethod(true),
|
||||
// `Array.prototype.indexOf` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||||
indexOf: createMethod(false)
|
||||
};
|
||||
|
||||
var indexOf = arrayIncludes.indexOf;
|
||||
|
||||
|
||||
var objectKeysInternal = function (object, names) {
|
||||
var O = toIndexedObject(object);
|
||||
var i = 0;
|
||||
var result = [];
|
||||
var key;
|
||||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while (names.length > i) if (has(O, key = names[i++])) {
|
||||
~indexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
// IE8- don't enum bug keys
|
||||
var enumBugKeys = [
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf'
|
||||
];
|
||||
|
||||
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
|
||||
|
||||
// `Object.getOwnPropertyNames` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||||
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return objectKeysInternal(O, hiddenKeys$1);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyNames = {
|
||||
f: f$3
|
||||
};
|
||||
|
||||
var f$4 = Object.getOwnPropertySymbols;
|
||||
|
||||
var objectGetOwnPropertySymbols = {
|
||||
f: f$4
|
||||
};
|
||||
|
||||
// all object keys, includes non-enumerable and symbols
|
||||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||||
};
|
||||
|
||||
var copyConstructorProperties = function (target, source) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = objectDefineProperty.f;
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
};
|
||||
|
||||
var replacement = /#|\.prototype\./;
|
||||
|
||||
var isForced = function (feature, detection) {
|
||||
var value = data[normalize(feature)];
|
||||
return value == POLYFILL ? true
|
||||
: value == NATIVE ? false
|
||||
: typeof detection == 'function' ? fails(detection)
|
||||
: !!detection;
|
||||
};
|
||||
|
||||
var normalize = isForced.normalize = function (string) {
|
||||
return String(string).replace(replacement, '.').toLowerCase();
|
||||
};
|
||||
|
||||
var data = isForced.data = {};
|
||||
var NATIVE = isForced.NATIVE = 'N';
|
||||
var POLYFILL = isForced.POLYFILL = 'P';
|
||||
|
||||
var isForced_1 = isForced;
|
||||
|
||||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
options.target - name of the target object
|
||||
options.global - target is the global object
|
||||
options.stat - export as static methods of target
|
||||
options.proto - export as prototype methods of target
|
||||
options.real - real prototype method for the `pure` version
|
||||
options.forced - export even if the native feature is available
|
||||
options.bind - bind methods to the target, required for the `pure` version
|
||||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||||
options.sham - add a flag to not completely full polyfills
|
||||
options.enumerable - export as enumerable property
|
||||
options.noTargetGet - prevent calling a getter on target
|
||||
*/
|
||||
var _export = function (options, source) {
|
||||
var TARGET = options.target;
|
||||
var GLOBAL = options.global;
|
||||
var STATIC = options.stat;
|
||||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||||
if (GLOBAL) {
|
||||
target = global_1;
|
||||
} else if (STATIC) {
|
||||
target = global_1[TARGET] || setGlobal(TARGET, {});
|
||||
} else {
|
||||
target = (global_1[TARGET] || {}).prototype;
|
||||
}
|
||||
if (target) for (key in source) {
|
||||
sourceProperty = source[key];
|
||||
if (options.noTargetGet) {
|
||||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||||
targetProperty = descriptor && descriptor.value;
|
||||
} else targetProperty = target[key];
|
||||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||||
// contained in target
|
||||
if (!FORCED && targetProperty !== undefined) {
|
||||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||||
copyConstructorProperties(sourceProperty, targetProperty);
|
||||
}
|
||||
// add a flag to not completely full polyfills
|
||||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||||
hide(sourceProperty, 'sham', true);
|
||||
}
|
||||
// extend global
|
||||
redefine(target, key, sourceProperty, options);
|
||||
}
|
||||
};
|
||||
|
||||
// `IsArray` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-isarray
|
||||
var isArray = Array.isArray || function isArray(arg) {
|
||||
return classofRaw(arg) == 'Array';
|
||||
};
|
||||
|
||||
// `ToObject` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toobject
|
||||
var toObject = function (argument) {
|
||||
return Object(requireObjectCoercible(argument));
|
||||
};
|
||||
|
||||
var createProperty = function (object, key, value) {
|
||||
var propertyKey = toPrimitive(key);
|
||||
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||||
else object[propertyKey] = value;
|
||||
};
|
||||
|
||||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||||
// Chrome 38 Symbol has incorrect toString conversion
|
||||
// eslint-disable-next-line no-undef
|
||||
return !String(Symbol());
|
||||
});
|
||||
|
||||
var Symbol$1 = global_1.Symbol;
|
||||
var store$1 = shared('wks');
|
||||
|
||||
var wellKnownSymbol = function (name) {
|
||||
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|
||||
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
|
||||
};
|
||||
|
||||
var SPECIES = wellKnownSymbol('species');
|
||||
|
||||
// `ArraySpeciesCreate` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||||
var arraySpeciesCreate = function (originalArray, length) {
|
||||
var C;
|
||||
if (isArray(originalArray)) {
|
||||
C = originalArray.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||||
else if (isObject(C)) {
|
||||
C = C[SPECIES];
|
||||
if (C === null) C = undefined;
|
||||
}
|
||||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||||
};
|
||||
|
||||
var SPECIES$1 = wellKnownSymbol('species');
|
||||
|
||||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||||
return !fails(function () {
|
||||
var array = [];
|
||||
var constructor = array.constructor = {};
|
||||
constructor[SPECIES$1] = function () {
|
||||
return { foo: 1 };
|
||||
};
|
||||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||||
});
|
||||
};
|
||||
|
||||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||||
|
||||
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
|
||||
var array = [];
|
||||
array[IS_CONCAT_SPREADABLE] = false;
|
||||
return array.concat()[0] !== array;
|
||||
});
|
||||
|
||||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||||
|
||||
var isConcatSpreadable = function (O) {
|
||||
if (!isObject(O)) return false;
|
||||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||||
};
|
||||
|
||||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||||
|
||||
// `Array.prototype.concat` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||||
// with adding support of @@isConcatSpreadable and @@species
|
||||
_export({ target: 'Array', proto: true, forced: FORCED }, {
|
||||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||||
var O = toObject(this);
|
||||
var A = arraySpeciesCreate(O, 0);
|
||||
var n = 0;
|
||||
var i, k, length, len, E;
|
||||
for (i = -1, length = arguments.length; i < length; i++) {
|
||||
E = i === -1 ? O : arguments[i];
|
||||
if (isConcatSpreadable(E)) {
|
||||
len = toLength(E.length);
|
||||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||||
} else {
|
||||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
createProperty(A, n++, E);
|
||||
}
|
||||
}
|
||||
A.length = n;
|
||||
return A;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Bootstrap Table Portuguese Portugal Translation
|
||||
* Author: Burnspirit<burnspirit@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.bootstrapTable.locales['pt-PT'] = {
|
||||
formatLoadingMessage: function formatLoadingMessage() {
|
||||
return 'A carregar, por favor aguarde';
|
||||
},
|
||||
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
|
||||
return "".concat(pageNumber, " registos por página");
|
||||
},
|
||||
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
|
||||
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
|
||||
return "A mostrar ".concat(pageFrom, " até ").concat(pageTo, " de ").concat(totalRows, " linhas (filtered from ").concat(totalNotFiltered, " total rows)");
|
||||
}
|
||||
|
||||
return "A mostrar ".concat(pageFrom, " até ").concat(pageTo, " de ").concat(totalRows, " linhas");
|
||||
},
|
||||
formatSRPaginationPreText: function formatSRPaginationPreText() {
|
||||
return 'previous page';
|
||||
},
|
||||
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
|
||||
return "to page ".concat(page);
|
||||
},
|
||||
formatSRPaginationNextText: function formatSRPaginationNextText() {
|
||||
return 'next page';
|
||||
},
|
||||
formatDetailPagination: function formatDetailPagination(totalRows) {
|
||||
return "Showing ".concat(totalRows, " rows");
|
||||
},
|
||||
formatClearSearch: function formatClearSearch() {
|
||||
return 'Clear Search';
|
||||
},
|
||||
formatSearch: function formatSearch() {
|
||||
return 'Pesquisa';
|
||||
},
|
||||
formatNoMatches: function formatNoMatches() {
|
||||
return 'Nenhum registo encontrado';
|
||||
},
|
||||
formatPaginationSwitch: function formatPaginationSwitch() {
|
||||
return 'Esconder/Mostrar paginação';
|
||||
},
|
||||
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
|
||||
return 'Show pagination';
|
||||
},
|
||||
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
|
||||
return 'Hide pagination';
|
||||
},
|
||||
formatRefresh: function formatRefresh() {
|
||||
return 'Atualizar';
|
||||
},
|
||||
formatToggle: function formatToggle() {
|
||||
return 'Alternar';
|
||||
},
|
||||
formatToggleOn: function formatToggleOn() {
|
||||
return 'Show card view';
|
||||
},
|
||||
formatToggleOff: function formatToggleOff() {
|
||||
return 'Hide card view';
|
||||
},
|
||||
formatColumns: function formatColumns() {
|
||||
return 'Colunas';
|
||||
},
|
||||
formatColumnsToggleAll: function formatColumnsToggleAll() {
|
||||
return 'Toggle all';
|
||||
},
|
||||
formatFullscreen: function formatFullscreen() {
|
||||
return 'Fullscreen';
|
||||
},
|
||||
formatAllRows: function formatAllRows() {
|
||||
return 'Tudo';
|
||||
},
|
||||
formatAutoRefresh: function formatAutoRefresh() {
|
||||
return 'Auto Refresh';
|
||||
},
|
||||
formatExport: function formatExport() {
|
||||
return 'Export data';
|
||||
},
|
||||
formatJumpTo: function formatJumpTo() {
|
||||
return 'GO';
|
||||
},
|
||||
formatAdvancedSearch: function formatAdvancedSearch() {
|
||||
return 'Advanced search';
|
||||
},
|
||||
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
|
||||
return 'Close';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-PT']);
|
||||
|
||||
}));
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
|
|
@ -0,0 +1,54 @@
|
|||
.example {
|
||||
position: relative;
|
||||
padding: 45px 15px 15px;
|
||||
margin: 0 -15px 15px;
|
||||
background-color: #fafafa;
|
||||
box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
|
||||
border-color: #e5e5e5 #eee #eee;
|
||||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
}
|
||||
|
||||
.example:after {
|
||||
content: "Example";
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
left: 15px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
color: #bbb;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.example + .highlight {
|
||||
margin: -15px -15px 15px;
|
||||
border-radius: 0;
|
||||
border-width: 0 0 1px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.example {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
background-color: #fff;
|
||||
border-width: 1px;
|
||||
border-color: #ddd;
|
||||
border-radius: 4px 4px 0 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.example + .highlight {
|
||||
margin-top: -16px;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
border-width: 1px;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.example > .btn,
|
||||
.example > .btn-group {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Kazakh [kk]
|
||||
//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var suffixes = {
|
||||
0: '-ші',
|
||||
1: '-ші',
|
||||
2: '-ші',
|
||||
3: '-ші',
|
||||
4: '-ші',
|
||||
5: '-ші',
|
||||
6: '-шы',
|
||||
7: '-ші',
|
||||
8: '-ші',
|
||||
9: '-шы',
|
||||
10: '-шы',
|
||||
20: '-шы',
|
||||
30: '-шы',
|
||||
40: '-шы',
|
||||
50: '-ші',
|
||||
60: '-шы',
|
||||
70: '-ші',
|
||||
80: '-ші',
|
||||
90: '-шы',
|
||||
100: '-ші'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('kk', {
|
||||
months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
|
||||
monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
|
||||
weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
|
||||
weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
|
||||
weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Бүгін сағат] LT',
|
||||
nextDay : '[Ертең сағат] LT',
|
||||
nextWeek : 'dddd [сағат] LT',
|
||||
lastDay : '[Кеше сағат] LT',
|
||||
lastWeek : '[Өткен аптаның] dddd [сағат] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s ішінде',
|
||||
past : '%s бұрын',
|
||||
s : 'бірнеше секунд',
|
||||
ss : '%d секунд',
|
||||
m : 'бір минут',
|
||||
mm : '%d минут',
|
||||
h : 'бір сағат',
|
||||
hh : '%d сағат',
|
||||
d : 'бір күн',
|
||||
dd : '%d күн',
|
||||
M : 'бір ай',
|
||||
MM : '%d ай',
|
||||
y : 'бір жыл',
|
||||
yy : '%d жыл'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
|
||||
ordinal : function (number) {
|
||||
var a = number % 10,
|
||||
b = number >= 100 ? 100 : null;
|
||||
return number + (suffixes[number] || suffixes[a] || suffixes[b]);
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package kr.co.i4way.sample.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import kr.co.i4way.sample.dao.SampleDao;
|
||||
import kr.co.i4way.sample.model.TestListVo;
|
||||
|
||||
@Service
|
||||
public class SampleService {
|
||||
|
||||
@Autowired SampleDao dao;
|
||||
|
||||
public String getDual() throws Exception{
|
||||
return dao.getDual();
|
||||
}
|
||||
|
||||
public ArrayList getTestList(TestListVo testlistvo) throws Exception{
|
||||
return dao.getTestList(testlistvo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
package kr.co.i4way.genesys.config;
|
||||
|
||||
|
||||
import com.genesyslab.platform.applicationblocks.com.IConfService;
|
||||
import com.genesyslab.platform.applicationblocks.com.ConfServiceFactory;
|
||||
import com.genesyslab.platform.applicationblocks.com.ConfigException;
|
||||
|
||||
import com.genesyslab.platform.configuration.protocol.types.CfgAppType;
|
||||
import com.genesyslab.platform.configuration.protocol.ConfServerProtocol;
|
||||
import com.genesyslab.platform.commons.connection.Connection;
|
||||
import com.genesyslab.platform.commons.connection.configuration.PropertyConfiguration;
|
||||
import com.genesyslab.platform.commons.protocol.ChannelState;
|
||||
import com.genesyslab.platform.commons.protocol.Endpoint;
|
||||
import com.genesyslab.platform.commons.protocol.ProtocolException;
|
||||
|
||||
|
||||
/**
|
||||
* Sample methods for initialization of configuration service instance.
|
||||
*
|
||||
* See http://docs.genesys.com/Documentation/PSDK/latest/Developer/UsingtheCOMAB
|
||||
*
|
||||
*/
|
||||
public class InitializationConfig {
|
||||
|
||||
/**
|
||||
* Sample Configuration service initialization function example.
|
||||
*
|
||||
*
|
||||
* @param cfgsrvEndpointName name for the server connection endpoint
|
||||
* @param cfgsrvHost configuration server host name
|
||||
* @param cfgsrvPort configuration server port
|
||||
* @param username configuration server login username
|
||||
* @param password configuration server login password
|
||||
* @return initialized configuration service
|
||||
* @throws ConfigException in case of exception while service or configuration protocol initialization
|
||||
* @throws InterruptedException if process was interrupted
|
||||
* @throws ProtocolException exception on protocol connection opening
|
||||
*/
|
||||
public IConfService initializeConfigService(
|
||||
final String cfgsrvEndpointName,
|
||||
final String cfgsrvHost,
|
||||
final int cfgsrvPort,
|
||||
final String username,
|
||||
final String password,
|
||||
final String charset)
|
||||
throws ConfigException, InterruptedException, ProtocolException {
|
||||
|
||||
CfgAppType clientType = CfgAppType.CFGSCE;
|
||||
String clientName = "default";
|
||||
|
||||
return initializeConfigService(cfgsrvEndpointName,
|
||||
cfgsrvHost, cfgsrvPort,
|
||||
clientType, clientName,
|
||||
username, password, charset);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sample Configuration service initialization function example.
|
||||
*
|
||||
* @param cfgsrvEndpointName name for the server connection endpoint
|
||||
* @param cfgsrvHost configuration server host name
|
||||
* @param cfgsrvPort configuration server port
|
||||
* @param clientType configuration server client application name
|
||||
* @param clientName configuration server client application type
|
||||
* @param username configuration server login user name
|
||||
* @param password configuration server login password
|
||||
* @return initialized configuration service
|
||||
* @throws ConfigException in case of exception while service or configuration protocol initialization
|
||||
* @throws InterruptedException if process was interrupted
|
||||
* @throws ProtocolException exception on protocol connection opening
|
||||
*/
|
||||
public IConfService initializeConfigService(
|
||||
final String cfgsrvEndpointName,
|
||||
final String cfgsrvHost,
|
||||
final int cfgsrvPort,
|
||||
final CfgAppType clientType,
|
||||
final String clientName,
|
||||
final String username,
|
||||
final String password,
|
||||
final String charset)
|
||||
throws ConfigException, InterruptedException, ProtocolException {
|
||||
|
||||
PropertyConfiguration config = new PropertyConfiguration();
|
||||
config.setUseAddp(true);
|
||||
config.setAddpClientTimeout(10);
|
||||
config.setAddpServerTimeout(10);
|
||||
config.setOption(Connection.STR_ATTR_ENCODING_NAME_KEY, charset);
|
||||
|
||||
Endpoint cfgServerEndpoint =
|
||||
new Endpoint(cfgsrvEndpointName, cfgsrvHost, cfgsrvPort, config);
|
||||
|
||||
ConfServerProtocol protocol = new ConfServerProtocol(cfgServerEndpoint);
|
||||
protocol.setClientName(clientName);
|
||||
protocol.setClientApplicationType(clientType.ordinal());
|
||||
protocol.setUserName(username);
|
||||
protocol.setUserPassword(password);
|
||||
|
||||
IConfService service = ConfServiceFactory.createConfService(protocol);
|
||||
|
||||
protocol.open();
|
||||
|
||||
Integer cfgServerEncoding = protocol.getServerContext().getServerEncoding();
|
||||
if (cfgServerEncoding != null && cfgServerEncoding.intValue() == 1) {
|
||||
//System.out.println("UTF-8로 변경");
|
||||
protocol.close();
|
||||
config.setStringsEncoding("UTF-8");
|
||||
protocol.setEndpoint(new Endpoint(cfgsrvEndpointName, cfgsrvHost, cfgsrvPort, config));
|
||||
protocol.open();
|
||||
} else{
|
||||
//System.out.println("변경안함");
|
||||
}
|
||||
|
||||
return service;
|
||||
}
|
||||
|
||||
/**
|
||||
* Release ConfService instance created with
|
||||
* {@link #initializeConfigService(String, String, int, CfgAppType, String, String, String)}.
|
||||
*
|
||||
* @param service configuration service reference
|
||||
* @throws InterruptedException
|
||||
* @throws IllegalStateException
|
||||
* @throws ProtocolException
|
||||
*/
|
||||
public void uninitializeConfigService(
|
||||
final IConfService service) throws ProtocolException, IllegalStateException, InterruptedException {
|
||||
if (service.getProtocol().getState() != ChannelState.Closed) {
|
||||
service.getProtocol().close();
|
||||
}
|
||||
ConfServiceFactory.releaseConfService(service);
|
||||
}
|
||||
}
|
||||
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 one or more lines are too long
|
|
@ -0,0 +1,523 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%
|
||||
String cntx = request.getContextPath();
|
||||
%>
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@ include file="/WEB-INF/include/include-header.jspf" %>
|
||||
<!-- Custom Theme Style -->
|
||||
<link href="<c:url value='/css/custom.css' />" rel="stylesheet">
|
||||
<!-- KNOB JS -->
|
||||
<script src="<c:url value='/js/custom.min.js' />"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Wallboard Call</title>
|
||||
<style type="text/css">
|
||||
body, table, div, p, label {font-family: 'Nanum Gothic', sans-serif;}
|
||||
</style>
|
||||
</head>
|
||||
<script>
|
||||
var array_AgentStr = [];
|
||||
var array_Str = [];
|
||||
var statStrArray = [];
|
||||
var array_EvtStr;
|
||||
|
||||
var W1_1 = "", W1_2 = "", W1_3 = ""; //W1 : 대기콜(인터폰,대표전체,영업전체)
|
||||
var W2_1 = "", W2_2 = "", W2_3 = "", W2_4 = "", W2_5 = ""; //W2 : 상담사 상태(로그인,대기,인바운드,아웃바운드,후처리)
|
||||
var W3_1 = "", W3_2 = "", W3_3 = "", W3_4 = ""; //W3 : 이석 상세(휴식,업무,교육,식사)
|
||||
var W4_1 = "", W4_2 = "", W4_3 = ""; //W4 : 입인콜수(인터폰,대표전체,영업전체)
|
||||
var W5_1 = "", W5_2 = "", W5_3 = ""; //W5 : 응대콜수(인터폰,대표전체,영업전체)
|
||||
var W6_1 = "", W6_2 = "", W6_3 = ""; //W6 : 20초내응대콜수(인터폰,대표전체,영업전체)
|
||||
var W7_1 = "", W7_2 = "", W7_3 = ""; //W7 : 포기콜수(인터폰,대표전체,영업전체)
|
||||
var W8_1 = "", W8_2 = "", W8_3 = ""; //W8 : 시스템포기콜수(인터폰,대표전체,영업전체)
|
||||
|
||||
var dp_wait_call = 0;
|
||||
var in_wait_call = 0;
|
||||
var tot_wait_call = 0;
|
||||
|
||||
var dp_enter = 0;
|
||||
var in_enter = 0;
|
||||
var tot_enter = 0;
|
||||
|
||||
var dp_answer = 0;
|
||||
var in_answer = 0;
|
||||
var tot_answer = 0;
|
||||
|
||||
var dp_answer_20 = 0;
|
||||
var in_answer_20 = 0;
|
||||
var tot_answer_20 = 0;
|
||||
|
||||
var dp_ans_rto = 0;
|
||||
var in_ans_rto = 0;
|
||||
var tot_ans_rto = 0;
|
||||
var dp_svc_lvl = 0;
|
||||
var in_svc_lvl = 0;
|
||||
var tot_svc_lvl = 0;
|
||||
|
||||
//ws.onmessage에서 받은 CTI 이벤트를 파싱하고 처리한다.
|
||||
function EventHandler(evtStr){
|
||||
var array_Stat;
|
||||
if(evtStr != null){
|
||||
array_Stat = null;
|
||||
//샘플 : PARK.WALL=W1@0*0*0^W2@5*3*0*0*0^W3@1*0*0*1^W4@444*154*2^W5@418*132*2^W6@376*94*2^W7@24*20*0^W8@2*2*0
|
||||
array_Stat = splitString(evtStr, "=");
|
||||
if(array_Stat != null){
|
||||
if(array_Stat[0] == "PARK.WALL"){ //전광판 데이터
|
||||
WALL_Process(array_Stat[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Wall데이터 파싱
|
||||
function WALL_Process(args){
|
||||
var tmpArr = splitString(args, "^");
|
||||
var tmpArr2;
|
||||
if(tmpArr != null){
|
||||
for(var i=0; i<tmpArr.length; i++){
|
||||
array_Str = splitString(tmpArr[i], "@");
|
||||
|
||||
if(array_Str[0] == "W1"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W1_1 = tmpArr2[0];
|
||||
W1_2 = tmpArr2[1];
|
||||
W1_3 = tmpArr2[2];
|
||||
}else if(array_Str[0] == "W2"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W2_1 = tmpArr2[0];
|
||||
W2_2 = tmpArr2[1];
|
||||
W2_3 = tmpArr2[2];
|
||||
W2_4 = tmpArr2[3];
|
||||
W2_5 = tmpArr2[4];
|
||||
}else if(array_Str[0] == "W3"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W3_1 = tmpArr2[0];
|
||||
W3_2 = tmpArr2[1];
|
||||
W3_3 = tmpArr2[2];
|
||||
W3_4 = tmpArr2[3];
|
||||
}else if(array_Str[0] == "W4"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W4_1 = tmpArr2[0];
|
||||
W4_2 = tmpArr2[1];
|
||||
W4_3 = tmpArr2[2];
|
||||
}else if(array_Str[0] == "W5"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W5_1 = tmpArr2[0];
|
||||
W5_2 = tmpArr2[1];
|
||||
W5_3 = tmpArr2[2];
|
||||
}else if(array_Str[0] == "W6"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W6_1 = tmpArr2[0];
|
||||
W6_2 = tmpArr2[1];
|
||||
W6_3 = tmpArr2[2];
|
||||
}else if(array_Str[0] == "W7"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W7_1 = tmpArr2[0];
|
||||
W7_2 = tmpArr2[1];
|
||||
W7_3 = tmpArr2[2];
|
||||
}else if(array_Str[0] == "W8"){
|
||||
tmpArr2 = splitString(array_Str[1], "*");
|
||||
W8_1 = tmpArr2[0];
|
||||
W8_2 = tmpArr2[1];
|
||||
W8_3 = tmpArr2[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calcDatas();
|
||||
$("#ReadyCall_Intp").html(in_wait_call);
|
||||
$("#ReadyCall_DP").html(dp_wait_call);
|
||||
$("#ReadyCall_Total").html(tot_wait_call);
|
||||
|
||||
$("#login_agent").html(W2_1);
|
||||
$("#ready_agent").html(W2_2);
|
||||
$("#ib_agent").html(W2_3);
|
||||
$("#ob_agent").html(W2_4);
|
||||
$("#acw_agent").html(W2_5);
|
||||
|
||||
$("#reason_1").html(W3_1);
|
||||
$("#reason_2").html(W3_2);
|
||||
$("#reason_3").html(W3_3);
|
||||
$("#reason_4").html(W3_4);
|
||||
|
||||
|
||||
$("#enter_Intp").html(in_enter);
|
||||
$("#answer_Intp").html(in_answer);
|
||||
$('#ansRto_Intp').val(in_ans_rto).trigger('change');
|
||||
$('#svcLvl_Intp').val(in_svc_lvl).trigger('change');
|
||||
|
||||
$("#enter_DP").html(dp_enter);
|
||||
$("#answer_DP").html(dp_answer);
|
||||
$('#ansRto_DP').val(dp_ans_rto).trigger('change');
|
||||
$('#svcLvl_DP').val(dp_svc_lvl).trigger('change');
|
||||
|
||||
$("#enter_Total").html(tot_enter);
|
||||
$("#answer_Total").html(tot_answer);
|
||||
$('#ansRto_Total').val(tot_ans_rto).trigger('change');
|
||||
$('#svcLvl_Total').val(tot_svc_lvl).trigger('change');
|
||||
}
|
||||
|
||||
function calcDatas(){
|
||||
dp_wait_call = parseInt(W1_2) + parseInt(W1_3);
|
||||
in_wait_call = parseInt(W1_1);
|
||||
tot_wait_call = parseInt(W1_1) + parseInt(W1_2) + parseInt(W1_3);
|
||||
|
||||
dp_enter = parseInt(W4_2) + parseInt(W4_3);
|
||||
in_enter = parseInt(W4_1);
|
||||
tot_enter = parseInt(W4_1) + parseInt(W4_2) + parseInt(W4_3);
|
||||
|
||||
dp_answer = parseInt(W5_2) + parseInt(W5_3);
|
||||
in_answer = parseInt(W5_1);
|
||||
tot_answer = parseInt(W5_1) + parseInt(W5_2) + parseInt(W5_3);
|
||||
|
||||
dp_answer_20 = parseInt(W6_2) + parseInt(W6_3);
|
||||
in_answer_20 = parseInt(W6_1);
|
||||
tot_answer_20 = parseInt(W6_1) + parseInt(W6_2) + parseInt(W6_3);
|
||||
|
||||
if(dp_enter > 0){
|
||||
dp_ans_rto = dp_answer / dp_enter * 100 + 0.05;
|
||||
dp_ans_rto = dp_ans_rto.round(1);
|
||||
dp_svc_lvl = dp_answer_20 / dp_enter * 100 + 0.05;
|
||||
dp_svc_lvl = dp_svc_lvl.round(1);
|
||||
}
|
||||
if(in_enter > 0){
|
||||
in_ans_rto = in_answer / in_enter * 100 + 0.05;
|
||||
in_ans_rto = in_ans_rto.round(1);
|
||||
in_svc_lvl = in_answer_20 / in_enter * 100 + 0.05;
|
||||
in_svc_lvl = in_svc_lvl.round(1);
|
||||
}
|
||||
if(tot_enter > 0){
|
||||
tot_ans_rto = tot_answer / tot_enter * 100 + 0.05;
|
||||
tot_ans_rto = tot_ans_rto.round(1);
|
||||
tot_svc_lvl = tot_answer_20 / tot_enter * 100 + 0.05;
|
||||
tot_svc_lvl = tot_svc_lvl.round(1);
|
||||
}
|
||||
}
|
||||
|
||||
Number.prototype.round = function(places) {
|
||||
return +(Math.round(this + "e+" + places) + "e-" + places);
|
||||
}
|
||||
|
||||
function splitString(arrayString, splitChar) {
|
||||
if (arrayString == null || splitChar == null) {
|
||||
return null;
|
||||
}
|
||||
return arrayString.split(splitChar);
|
||||
}
|
||||
</script>
|
||||
|
||||
<body class="nav-md" style="background-color:#ccffff; width: 99.5%;height: 98vh;">
|
||||
<!-- page content -->
|
||||
<div class="right_col" role="main" style="margin-top: 5px; margin-left: 5px;">
|
||||
<div class="row top_tiles">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12" style="padding-top: 20px;">
|
||||
<div class="x_panel">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td width="33%">
|
||||
<img src="<%=cntx%>/images/AJ_Park.png" width="176" height="47" alt="logo"/>
|
||||
</td>
|
||||
<td width="34%" style="text-align: center;">
|
||||
<div style="font-size: 50px; font-weight: bold; color: black;">상담사 상태</div>
|
||||
</td>
|
||||
<td width="33%" style="text-align: right;">
|
||||
<div style="font-size: 40px; color: black;"><p id="realTimer"></p></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7 col-sm-7 col-xs-12">
|
||||
<div class="x_panel tile fixed_height_320 overflow_hidden" style="height: 43vh;">
|
||||
<div class="x_title">
|
||||
<p><font size="40px;">대기콜</font></p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<th style="width:33%; padding: 5px;">
|
||||
<h3 style="font-weight:bold;">인터폰</h3>
|
||||
<div id="ReadyCall_Intp" class="alert alert-success" style="font-size: 160px; text-align: center; height: 25vh;">
|
||||
99
|
||||
</div>
|
||||
</th>
|
||||
<th style="width:33%; padding: 5px;">
|
||||
<h3 style="font-weight:bold;">대표번호</h3>
|
||||
<div id="ReadyCall_DP" class="alert alert-info" style="font-size: 160px; text-align: center; height: 25vh;">
|
||||
99
|
||||
</div>
|
||||
</th>
|
||||
<th style="width:33%; padding: 5px;">
|
||||
<h3 style="font-weight:bold;">전체</h3>
|
||||
<div id="ReadyCall_Total" class="alert alert-warning" style="font-size: 160px; text-align: center; height: 25vh;">
|
||||
99
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-5 col-xs-5">
|
||||
<div class="x_panel tile fixed_height_320 overflow_hidden" style="height: 43vh">
|
||||
<div class="x_title">
|
||||
<p><font size="40px;">상담사 상태</font></p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<table class="" style="width:100%;border: 1px;border-color: black;">
|
||||
<tr>
|
||||
<td style="width:20%; text-align: center;">
|
||||
<span class="count_top" style="font-size: 18px;font-weight:bold;"><i class="fa fa-user"></i> 로그인</span>
|
||||
<div id="login_agent" class="count" style="text-align : center; font-size: 60px; font-weight:bold; padding-top: 10px;">5</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center;">
|
||||
<span class="count_top" style="font-size: 18px;font-weight:bold;"><i class="fa fa-user"></i> 대기</span>
|
||||
<div id="ready_agent" class="count" style="text-align : center; font-size: 60px; font-weight:bold; padding-top: 10px;">3</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center;">
|
||||
<span class="count_top" style="font-size: 18px;font-weight:bold;"><i class="fa fa-user"></i> 인바운드</span>
|
||||
<div id="ib_agent" class="count" style="text-align : center; font-size: 60px; font-weight:bold; padding-top: 10px;">1</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center;">
|
||||
<span class="count_top" style="font-size: 18px;font-weight:bold;"><i class="fa fa-user"></i> 아웃바운드</span>
|
||||
<div id="ob_agent" class="count" style="text-align : center; font-size: 60px; font-weight:bold; padding-top: 10px;">1</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center;">
|
||||
<span class="count_top" style="font-size: 18px;font-weight:bold;"><i class="fa fa-user"></i> 후처리</span>
|
||||
<div id="acw_agent" class="count" style="text-align : center; font-size: 60px; font-weight:bold; padding-top: 10px;">0</div>
|
||||
</td>
|
||||
</table>
|
||||
<br>
|
||||
<table class="" style="width:100%;border: 1px;border-color: black;">
|
||||
<tr>
|
||||
<td style="width:20%; text-align: center; padding-left: 10px;padding-right: 10px;">
|
||||
<h3 style="font-weight:bold;">이석상세</h3>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center; padding-left: 10px;padding-right: 10px;">
|
||||
<div class="daily-weather">
|
||||
<h2 class="day" style="font-size: 18px;">휴식</h2>
|
||||
<h1 id="reason_1" class="tile_info" style="text-align: center;">28</h1>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center; padding-left: 10px;padding-right: 10px;">
|
||||
<div class="daily-weather">
|
||||
<h2 class="day" style="font-size: 18px;">식사</h2>
|
||||
<h1 id="reason_2" class="tile_info" style="text-align: center;">28</h1>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center; padding-left: 10px;padding-right: 10px;">
|
||||
<div class="daily-weather">
|
||||
<h2 class="day" style="font-size: 18px;">교육</h2>
|
||||
<h1 id="reason_3" class="tile_info" style="text-align: center;">28</h1>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width:20%; text-align: center; padding-left: 10px;padding-right: 10px;">
|
||||
<div class="daily-weather">
|
||||
<h2 class="day" style="font-size: 18px;">업무</h2>
|
||||
<h1 id="reason_4" class="tile_info" style="text-align: center;">28</h1>
|
||||
</div>
|
||||
</td>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row top_tiles">
|
||||
<div class="col-md-4 col-sm-4 col-xs-12">
|
||||
<div class="x_panel tile fixed_height_320 overflow_hidden" style="height: 40vh">
|
||||
<div class="x_title">
|
||||
<p><font size="40px;">응대현황_인터폰</font></p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<table class="" style="width:100%">
|
||||
<tr>
|
||||
<th style="width:40%;text-align: center;">
|
||||
<span style="font-size: 23px;">콜현황</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">응대율(%)</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">서비스레벨(%)</span>
|
||||
</th>
|
||||
</tr>
|
||||
<tr><td> </td><td></td><td></td></tr>
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
<table class="tile_info">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 접수호</span>
|
||||
<div id="enter_Intp" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 응대호</span>
|
||||
<div id="answer_Intp" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="ansRto_Intp" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="#3db81f" value="92">
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="svcLvl_Intp" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="ff570e" value="85">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-4 col-xs-12">
|
||||
<div class="x_panel tile fixed_height_320 overflow_hidden" style="height: 40vh">
|
||||
<div class="x_title">
|
||||
<p><font size="40px;">응대현황_대표번호</font></p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<table class="" style="width:100%">
|
||||
<tr>
|
||||
<th style="width:40%;text-align: center;">
|
||||
<span style="font-size: 23px;">콜현황</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">응대율(%)</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">서비스레벨(%)</span>
|
||||
</th>
|
||||
</tr>
|
||||
<tr><td> </td><td></td><td></td></tr>
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
<table class="tile_info">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 접수호</span>
|
||||
<div id="enter_DP" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 응대호</span>
|
||||
<div id="answer_DP" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="ansRto_DP" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="#3db81f" value="92">
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="svcLvl_DP" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="ff570e" value="85">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-4 col-xs-12">
|
||||
<div class="x_panel tile fixed_height_320 overflow_hidden" style="height: 40vh">
|
||||
<div class="x_title">
|
||||
<p><font size="40px;">응대현황_전체</font></p>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<table class="" style="width:100%">
|
||||
<tr>
|
||||
<th style="width:40%;text-align: center;">
|
||||
<span style="font-size: 23px;">콜현황</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">응대율(%)</span>
|
||||
</th>
|
||||
<th style="width:30%;text-align: center;">
|
||||
<span style="font-size: 23px;">서비스레벨(%)</span>
|
||||
</th>
|
||||
</tr>
|
||||
<tr><td> </td><td></td><td></td></tr>
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
<table class="tile_info">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 접수호</span>
|
||||
<div id="enter_Total" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="count_top" style="font-size: 18px;font-weight: bold;"><i class="fa fa-user"></i> 응대호</span>
|
||||
<div id="answer_Total" class="count" style="text-align : center; font-size: 50px; font-weight: bold;">1,024</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="ansRto_Total" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="#3db81f" value="92">
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
<input id="svcLvl_Total" class="knob" data-width="160" data-height="160" data-min="0" data-displayPrevious=true data-fgColor="ff570e" value="85">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var callFunction;
|
||||
function leadingZeros(n, digits) {
|
||||
var zero = '';
|
||||
n = n.toString();
|
||||
if (n.length < digits) {
|
||||
for (i = 0; i < digits - n.length; i++)
|
||||
zero += '0';
|
||||
}
|
||||
return zero + n;
|
||||
}
|
||||
|
||||
function timer(){
|
||||
var d = new Date();
|
||||
|
||||
var date = leadingZeros(d.getFullYear(), 4) + '-' +
|
||||
leadingZeros(d.getMonth() + 1, 2) + '-' +
|
||||
leadingZeros(d.getDate(), 2) + ' ';
|
||||
|
||||
var time = leadingZeros(d.getHours(), 2) + ':' +
|
||||
leadingZeros(d.getMinutes(), 2);
|
||||
|
||||
var txt_time = date + " " + time;
|
||||
return txt_time;
|
||||
}
|
||||
|
||||
function setData(){
|
||||
EventHandler(top.document.getElementById("callData").value);
|
||||
}
|
||||
|
||||
function get_timer(){
|
||||
setData();
|
||||
// 함수값 불러와서, 태그 안에 집어넣기.
|
||||
var timetxt = timer();
|
||||
if( document.getElementById( "realTimer" ) ){ //페이지가 로드되지 않았을때 객체가 null일경우 에러발생됨
|
||||
document.getElementById( "realTimer" ).innerHTML = timetxt;
|
||||
}
|
||||
|
||||
// 1000 밀리초(=1초) 후에, 이 함수를 실행하기 (반복 실행 효과).
|
||||
setTimeout( "get_timer()", 1000 );
|
||||
}
|
||||
|
||||
$(window).ready(function(){
|
||||
// (페이지가 로드되면) 함수를 불러오기.
|
||||
//alert("wall1 load");
|
||||
var callFunction = get_timer();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,721 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
var O = 'object';
|
||||
var check = function (it) {
|
||||
return it && it.Math == Math && it;
|
||||
};
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global_1 =
|
||||
// eslint-disable-next-line no-undef
|
||||
check(typeof globalThis == O && globalThis) ||
|
||||
check(typeof window == O && window) ||
|
||||
check(typeof self == O && self) ||
|
||||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function('return this')();
|
||||
|
||||
var fails = function (exec) {
|
||||
try {
|
||||
return !!exec();
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var descriptors = !fails(function () {
|
||||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||
});
|
||||
|
||||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// Nashorn ~ JDK8 bug
|
||||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||||
|
||||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||||
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||||
return !!descriptor && descriptor.enumerable;
|
||||
} : nativePropertyIsEnumerable;
|
||||
|
||||
var objectPropertyIsEnumerable = {
|
||||
f: f
|
||||
};
|
||||
|
||||
var createPropertyDescriptor = function (bitmap, value) {
|
||||
return {
|
||||
enumerable: !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable: !(bitmap & 4),
|
||||
value: value
|
||||
};
|
||||
};
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
var classofRaw = function (it) {
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
var split = ''.split;
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var indexedObject = fails(function () {
|
||||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
return !Object('z').propertyIsEnumerable(0);
|
||||
}) ? function (it) {
|
||||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||||
} : Object;
|
||||
|
||||
// `RequireObjectCoercible` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||||
var requireObjectCoercible = function (it) {
|
||||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
// toObject with fallback for non-array-like ES3 strings
|
||||
|
||||
|
||||
|
||||
var toIndexedObject = function (it) {
|
||||
return indexedObject(requireObjectCoercible(it));
|
||||
};
|
||||
|
||||
var isObject = function (it) {
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
// `ToPrimitive` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||||
if (!isObject(input)) return input;
|
||||
var fn, val;
|
||||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
|
||||
var has = function (it, key) {
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
var document = global_1.document;
|
||||
// typeof document.createElement is 'object' in old IE
|
||||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||||
|
||||
var documentCreateElement = function (it) {
|
||||
return EXISTS ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var ie8DomDefine = !descriptors && !fails(function () {
|
||||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
});
|
||||
|
||||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||||
O = toIndexedObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeGetOwnPropertyDescriptor(O, P);
|
||||
} catch (error) { /* empty */ }
|
||||
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyDescriptor = {
|
||||
f: f$1
|
||||
};
|
||||
|
||||
var anObject = function (it) {
|
||||
if (!isObject(it)) {
|
||||
throw TypeError(String(it) + ' is not an object');
|
||||
} return it;
|
||||
};
|
||||
|
||||
var nativeDefineProperty = Object.defineProperty;
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||||
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeDefineProperty(O, P, Attributes);
|
||||
} catch (error) { /* empty */ }
|
||||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||||
if ('value' in Attributes) O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
var objectDefineProperty = {
|
||||
f: f$2
|
||||
};
|
||||
|
||||
var hide = descriptors ? function (object, key, value) {
|
||||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||||
} : function (object, key, value) {
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
var setGlobal = function (key, value) {
|
||||
try {
|
||||
hide(global_1, key, value);
|
||||
} catch (error) {
|
||||
global_1[key] = value;
|
||||
} return value;
|
||||
};
|
||||
|
||||
var shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = global_1[SHARED] || setGlobal(SHARED, {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.1.3',
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var functionToString = shared('native-function-to-string', Function.toString);
|
||||
|
||||
var WeakMap = global_1.WeakMap;
|
||||
|
||||
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
|
||||
|
||||
var id = 0;
|
||||
var postfix = Math.random();
|
||||
|
||||
var uid = function (key) {
|
||||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||||
};
|
||||
|
||||
var keys = shared('keys');
|
||||
|
||||
var sharedKey = function (key) {
|
||||
return keys[key] || (keys[key] = uid(key));
|
||||
};
|
||||
|
||||
var hiddenKeys = {};
|
||||
|
||||
var WeakMap$1 = global_1.WeakMap;
|
||||
var set, get, has$1;
|
||||
|
||||
var enforce = function (it) {
|
||||
return has$1(it) ? get(it) : set(it, {});
|
||||
};
|
||||
|
||||
var getterFor = function (TYPE) {
|
||||
return function (it) {
|
||||
var state;
|
||||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||||
} return state;
|
||||
};
|
||||
};
|
||||
|
||||
if (nativeWeakMap) {
|
||||
var store = new WeakMap$1();
|
||||
var wmget = store.get;
|
||||
var wmhas = store.has;
|
||||
var wmset = store.set;
|
||||
set = function (it, metadata) {
|
||||
wmset.call(store, it, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return wmget.call(store, it) || {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return wmhas.call(store, it);
|
||||
};
|
||||
} else {
|
||||
var STATE = sharedKey('state');
|
||||
hiddenKeys[STATE] = true;
|
||||
set = function (it, metadata) {
|
||||
hide(it, STATE, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return has(it, STATE) ? it[STATE] : {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return has(it, STATE);
|
||||
};
|
||||
}
|
||||
|
||||
var internalState = {
|
||||
set: set,
|
||||
get: get,
|
||||
has: has$1,
|
||||
enforce: enforce,
|
||||
getterFor: getterFor
|
||||
};
|
||||
|
||||
var redefine = createCommonjsModule(function (module) {
|
||||
var getInternalState = internalState.get;
|
||||
var enforceInternalState = internalState.enforce;
|
||||
var TEMPLATE = String(functionToString).split('toString');
|
||||
|
||||
shared('inspectSource', function (it) {
|
||||
return functionToString.call(it);
|
||||
});
|
||||
|
||||
(module.exports = function (O, key, value, options) {
|
||||
var unsafe = options ? !!options.unsafe : false;
|
||||
var simple = options ? !!options.enumerable : false;
|
||||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||||
if (typeof value == 'function') {
|
||||
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||||
}
|
||||
if (O === global_1) {
|
||||
if (simple) O[key] = value;
|
||||
else setGlobal(key, value);
|
||||
return;
|
||||
} else if (!unsafe) {
|
||||
delete O[key];
|
||||
} else if (!noTargetGet && O[key]) {
|
||||
simple = true;
|
||||
}
|
||||
if (simple) O[key] = value;
|
||||
else hide(O, key, value);
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, 'toString', function toString() {
|
||||
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
var path = global_1;
|
||||
|
||||
var aFunction = function (variable) {
|
||||
return typeof variable == 'function' ? variable : undefined;
|
||||
};
|
||||
|
||||
var getBuiltIn = function (namespace, method) {
|
||||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
|
||||
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
|
||||
};
|
||||
|
||||
var ceil = Math.ceil;
|
||||
var floor = Math.floor;
|
||||
|
||||
// `ToInteger` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||||
var toInteger = function (argument) {
|
||||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||||
};
|
||||
|
||||
var min = Math.min;
|
||||
|
||||
// `ToLength` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tolength
|
||||
var toLength = function (argument) {
|
||||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
var max = Math.max;
|
||||
var min$1 = Math.min;
|
||||
|
||||
// Helper for a popular repeating case of the spec:
|
||||
// Let integer be ? ToInteger(index).
|
||||
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||||
var toAbsoluteIndex = function (index, length) {
|
||||
var integer = toInteger(index);
|
||||
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
|
||||
};
|
||||
|
||||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||||
var createMethod = function (IS_INCLUDES) {
|
||||
return function ($this, el, fromIndex) {
|
||||
var O = toIndexedObject($this);
|
||||
var length = toLength(O.length);
|
||||
var index = toAbsoluteIndex(fromIndex, length);
|
||||
var value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (IS_INCLUDES && el != el) while (length > index) {
|
||||
value = O[index++];
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (value != value) return true;
|
||||
// Array#indexOf ignores holes, Array#includes - not
|
||||
} else for (;length > index; index++) {
|
||||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
var arrayIncludes = {
|
||||
// `Array.prototype.includes` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||||
includes: createMethod(true),
|
||||
// `Array.prototype.indexOf` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||||
indexOf: createMethod(false)
|
||||
};
|
||||
|
||||
var indexOf = arrayIncludes.indexOf;
|
||||
|
||||
|
||||
var objectKeysInternal = function (object, names) {
|
||||
var O = toIndexedObject(object);
|
||||
var i = 0;
|
||||
var result = [];
|
||||
var key;
|
||||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while (names.length > i) if (has(O, key = names[i++])) {
|
||||
~indexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
// IE8- don't enum bug keys
|
||||
var enumBugKeys = [
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf'
|
||||
];
|
||||
|
||||
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
|
||||
|
||||
// `Object.getOwnPropertyNames` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||||
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return objectKeysInternal(O, hiddenKeys$1);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyNames = {
|
||||
f: f$3
|
||||
};
|
||||
|
||||
var f$4 = Object.getOwnPropertySymbols;
|
||||
|
||||
var objectGetOwnPropertySymbols = {
|
||||
f: f$4
|
||||
};
|
||||
|
||||
// all object keys, includes non-enumerable and symbols
|
||||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||||
};
|
||||
|
||||
var copyConstructorProperties = function (target, source) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = objectDefineProperty.f;
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
};
|
||||
|
||||
var replacement = /#|\.prototype\./;
|
||||
|
||||
var isForced = function (feature, detection) {
|
||||
var value = data[normalize(feature)];
|
||||
return value == POLYFILL ? true
|
||||
: value == NATIVE ? false
|
||||
: typeof detection == 'function' ? fails(detection)
|
||||
: !!detection;
|
||||
};
|
||||
|
||||
var normalize = isForced.normalize = function (string) {
|
||||
return String(string).replace(replacement, '.').toLowerCase();
|
||||
};
|
||||
|
||||
var data = isForced.data = {};
|
||||
var NATIVE = isForced.NATIVE = 'N';
|
||||
var POLYFILL = isForced.POLYFILL = 'P';
|
||||
|
||||
var isForced_1 = isForced;
|
||||
|
||||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
options.target - name of the target object
|
||||
options.global - target is the global object
|
||||
options.stat - export as static methods of target
|
||||
options.proto - export as prototype methods of target
|
||||
options.real - real prototype method for the `pure` version
|
||||
options.forced - export even if the native feature is available
|
||||
options.bind - bind methods to the target, required for the `pure` version
|
||||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||||
options.sham - add a flag to not completely full polyfills
|
||||
options.enumerable - export as enumerable property
|
||||
options.noTargetGet - prevent calling a getter on target
|
||||
*/
|
||||
var _export = function (options, source) {
|
||||
var TARGET = options.target;
|
||||
var GLOBAL = options.global;
|
||||
var STATIC = options.stat;
|
||||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||||
if (GLOBAL) {
|
||||
target = global_1;
|
||||
} else if (STATIC) {
|
||||
target = global_1[TARGET] || setGlobal(TARGET, {});
|
||||
} else {
|
||||
target = (global_1[TARGET] || {}).prototype;
|
||||
}
|
||||
if (target) for (key in source) {
|
||||
sourceProperty = source[key];
|
||||
if (options.noTargetGet) {
|
||||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||||
targetProperty = descriptor && descriptor.value;
|
||||
} else targetProperty = target[key];
|
||||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||||
// contained in target
|
||||
if (!FORCED && targetProperty !== undefined) {
|
||||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||||
copyConstructorProperties(sourceProperty, targetProperty);
|
||||
}
|
||||
// add a flag to not completely full polyfills
|
||||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||||
hide(sourceProperty, 'sham', true);
|
||||
}
|
||||
// extend global
|
||||
redefine(target, key, sourceProperty, options);
|
||||
}
|
||||
};
|
||||
|
||||
// `IsArray` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-isarray
|
||||
var isArray = Array.isArray || function isArray(arg) {
|
||||
return classofRaw(arg) == 'Array';
|
||||
};
|
||||
|
||||
// `ToObject` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toobject
|
||||
var toObject = function (argument) {
|
||||
return Object(requireObjectCoercible(argument));
|
||||
};
|
||||
|
||||
var createProperty = function (object, key, value) {
|
||||
var propertyKey = toPrimitive(key);
|
||||
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||||
else object[propertyKey] = value;
|
||||
};
|
||||
|
||||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||||
// Chrome 38 Symbol has incorrect toString conversion
|
||||
// eslint-disable-next-line no-undef
|
||||
return !String(Symbol());
|
||||
});
|
||||
|
||||
var Symbol$1 = global_1.Symbol;
|
||||
var store$1 = shared('wks');
|
||||
|
||||
var wellKnownSymbol = function (name) {
|
||||
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|
||||
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
|
||||
};
|
||||
|
||||
var SPECIES = wellKnownSymbol('species');
|
||||
|
||||
// `ArraySpeciesCreate` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||||
var arraySpeciesCreate = function (originalArray, length) {
|
||||
var C;
|
||||
if (isArray(originalArray)) {
|
||||
C = originalArray.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||||
else if (isObject(C)) {
|
||||
C = C[SPECIES];
|
||||
if (C === null) C = undefined;
|
||||
}
|
||||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||||
};
|
||||
|
||||
var SPECIES$1 = wellKnownSymbol('species');
|
||||
|
||||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||||
return !fails(function () {
|
||||
var array = [];
|
||||
var constructor = array.constructor = {};
|
||||
constructor[SPECIES$1] = function () {
|
||||
return { foo: 1 };
|
||||
};
|
||||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||||
});
|
||||
};
|
||||
|
||||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||||
|
||||
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
|
||||
var array = [];
|
||||
array[IS_CONCAT_SPREADABLE] = false;
|
||||
return array.concat()[0] !== array;
|
||||
});
|
||||
|
||||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||||
|
||||
var isConcatSpreadable = function (O) {
|
||||
if (!isObject(O)) return false;
|
||||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||||
};
|
||||
|
||||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||||
|
||||
// `Array.prototype.concat` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||||
// with adding support of @@isConcatSpreadable and @@species
|
||||
_export({ target: 'Array', proto: true, forced: FORCED }, {
|
||||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||||
var O = toObject(this);
|
||||
var A = arraySpeciesCreate(O, 0);
|
||||
var n = 0;
|
||||
var i, k, length, len, E;
|
||||
for (i = -1, length = arguments.length; i < length; i++) {
|
||||
E = i === -1 ? O : arguments[i];
|
||||
if (isConcatSpreadable(E)) {
|
||||
len = toLength(E.length);
|
||||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||||
} else {
|
||||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
createProperty(A, n++, E);
|
||||
}
|
||||
}
|
||||
A.length = n;
|
||||
return A;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Bootstrap Table Ukrainian translation
|
||||
* Author: Vitaliy Timchenko <vitaliy.timchenko@gmail.com>
|
||||
*/
|
||||
|
||||
$.fn.bootstrapTable.locales['uk-UA'] = {
|
||||
formatLoadingMessage: function formatLoadingMessage() {
|
||||
return 'Завантаження, будь ласка, зачекайте';
|
||||
},
|
||||
formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
|
||||
return "".concat(pageNumber, " \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u043D\u0430 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443");
|
||||
},
|
||||
formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
|
||||
if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
|
||||
return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
|
||||
}
|
||||
|
||||
return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows);
|
||||
},
|
||||
formatSRPaginationPreText: function formatSRPaginationPreText() {
|
||||
return 'previous page';
|
||||
},
|
||||
formatSRPaginationPageText: function formatSRPaginationPageText(page) {
|
||||
return "to page ".concat(page);
|
||||
},
|
||||
formatSRPaginationNextText: function formatSRPaginationNextText() {
|
||||
return 'next page';
|
||||
},
|
||||
formatDetailPagination: function formatDetailPagination(totalRows) {
|
||||
return "Showing ".concat(totalRows, " rows");
|
||||
},
|
||||
formatClearSearch: function formatClearSearch() {
|
||||
return 'Очистити фільтри';
|
||||
},
|
||||
formatSearch: function formatSearch() {
|
||||
return 'Пошук';
|
||||
},
|
||||
formatNoMatches: function formatNoMatches() {
|
||||
return 'Не знайдено жодного запису';
|
||||
},
|
||||
formatPaginationSwitch: function formatPaginationSwitch() {
|
||||
return 'Hide/Show pagination';
|
||||
},
|
||||
formatPaginationSwitchDown: function formatPaginationSwitchDown() {
|
||||
return 'Show pagination';
|
||||
},
|
||||
formatPaginationSwitchUp: function formatPaginationSwitchUp() {
|
||||
return 'Hide pagination';
|
||||
},
|
||||
formatRefresh: function formatRefresh() {
|
||||
return 'Оновити';
|
||||
},
|
||||
formatToggle: function formatToggle() {
|
||||
return 'Змінити';
|
||||
},
|
||||
formatToggleOn: function formatToggleOn() {
|
||||
return 'Show card view';
|
||||
},
|
||||
formatToggleOff: function formatToggleOff() {
|
||||
return 'Hide card view';
|
||||
},
|
||||
formatColumns: function formatColumns() {
|
||||
return 'Стовпці';
|
||||
},
|
||||
formatColumnsToggleAll: function formatColumnsToggleAll() {
|
||||
return 'Toggle all';
|
||||
},
|
||||
formatFullscreen: function formatFullscreen() {
|
||||
return 'Fullscreen';
|
||||
},
|
||||
formatAllRows: function formatAllRows() {
|
||||
return 'All';
|
||||
},
|
||||
formatAutoRefresh: function formatAutoRefresh() {
|
||||
return 'Auto Refresh';
|
||||
},
|
||||
formatExport: function formatExport() {
|
||||
return 'Export data';
|
||||
},
|
||||
formatJumpTo: function formatJumpTo() {
|
||||
return 'GO';
|
||||
},
|
||||
formatAdvancedSearch: function formatAdvancedSearch() {
|
||||
return 'Advanced search';
|
||||
},
|
||||
formatAdvancedCloseButton: function formatAdvancedCloseButton() {
|
||||
return 'Close';
|
||||
}
|
||||
};
|
||||
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uk-UA']);
|
||||
|
||||
}));
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,111 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Tibetan [bo]
|
||||
//! author : Thupten N. Chakrishar : https://github.com/vajradog
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var symbolMap = {
|
||||
'1': '༡',
|
||||
'2': '༢',
|
||||
'3': '༣',
|
||||
'4': '༤',
|
||||
'5': '༥',
|
||||
'6': '༦',
|
||||
'7': '༧',
|
||||
'8': '༨',
|
||||
'9': '༩',
|
||||
'0': '༠'
|
||||
},
|
||||
numberMap = {
|
||||
'༡': '1',
|
||||
'༢': '2',
|
||||
'༣': '3',
|
||||
'༤': '4',
|
||||
'༥': '5',
|
||||
'༦': '6',
|
||||
'༧': '7',
|
||||
'༨': '8',
|
||||
'༩': '9',
|
||||
'༠': '0'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('bo', {
|
||||
months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
|
||||
monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
|
||||
weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
|
||||
weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
|
||||
weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'A h:mm',
|
||||
LTS : 'A h:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY, A h:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY, A h:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[དི་རིང] LT',
|
||||
nextDay : '[སང་ཉིན] LT',
|
||||
nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
|
||||
lastDay : '[ཁ་སང] LT',
|
||||
lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s ལ་',
|
||||
past : '%s སྔན་ལ',
|
||||
s : 'ལམ་སང',
|
||||
ss : '%d སྐར་ཆ།',
|
||||
m : 'སྐར་མ་གཅིག',
|
||||
mm : '%d སྐར་མ',
|
||||
h : 'ཆུ་ཚོད་གཅིག',
|
||||
hh : '%d ཆུ་ཚོད',
|
||||
d : 'ཉིན་གཅིག',
|
||||
dd : '%d ཉིན་',
|
||||
M : 'ཟླ་བ་གཅིག',
|
||||
MM : '%d ཟླ་བ',
|
||||
y : 'ལོ་གཅིག',
|
||||
yy : '%d ལོ'
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
|
||||
return numberMap[match];
|
||||
});
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
});
|
||||
},
|
||||
meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
|
||||
(meridiem === 'ཉིན་གུང' && hour < 5) ||
|
||||
meridiem === 'དགོང་དག') {
|
||||
return hour + 12;
|
||||
} else {
|
||||
return hour;
|
||||
}
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'མཚན་མོ';
|
||||
} else if (hour < 10) {
|
||||
return 'ཞོགས་ཀས';
|
||||
} else if (hour < 17) {
|
||||
return 'ཉིན་གུང';
|
||||
} else if (hour < 20) {
|
||||
return 'དགོང་དག';
|
||||
} else {
|
||||
return 'མཚན་མོ';
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 0, // Sunday is the first day of the week.
|
||||
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,52 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Hello WebSocket</title>
|
||||
<%@ include file="/WEB-INF/include/include-header.jspf" %>
|
||||
<script src="/webjars/sockjs-client/sockjs.min.js"></script>
|
||||
<script src="/webjars/stomp-websocket/stomp.min.js"></script>
|
||||
<script src="<c:url value='/js/app.js' />"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<noscript><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websocket relies on Javascript being enabled. Please enable Javascript and reload this page!</h2></noscript>
|
||||
<div id="main-content" class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="connect">WebSocket connection:</label>
|
||||
<button id="connect" class="btn btn-default" type="submit">Connect</button>
|
||||
<button id="disconnect" class="btn btn-default" type="submit" disabled="disabled">Disconnect
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<form class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="name">What is your name?</label>
|
||||
<input type="text" id="name" class="form-control" placeholder="Your name here...">
|
||||
</div>
|
||||
<button id="send" class="btn btn-default" type="submit">Send</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table id="conversation" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Greetings</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="greetings">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Maori [mi]
|
||||
//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('mi', {
|
||||
months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),
|
||||
monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
|
||||
monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
||||
monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
||||
monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
||||
monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
|
||||
weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
|
||||
weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
|
||||
weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
|
||||
longDateFormat: {
|
||||
LT: 'HH:mm',
|
||||
LTS: 'HH:mm:ss',
|
||||
L: 'DD/MM/YYYY',
|
||||
LL: 'D MMMM YYYY',
|
||||
LLL: 'D MMMM YYYY [i] HH:mm',
|
||||
LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[i teie mahana, i] LT',
|
||||
nextDay: '[apopo i] LT',
|
||||
nextWeek: 'dddd [i] LT',
|
||||
lastDay: '[inanahi i] LT',
|
||||
lastWeek: 'dddd [whakamutunga i] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime: {
|
||||
future: 'i roto i %s',
|
||||
past: '%s i mua',
|
||||
s: 'te hēkona ruarua',
|
||||
ss: '%d hēkona',
|
||||
m: 'he meneti',
|
||||
mm: '%d meneti',
|
||||
h: 'te haora',
|
||||
hh: '%d haora',
|
||||
d: 'he ra',
|
||||
dd: '%d ra',
|
||||
M: 'he marama',
|
||||
MM: '%d marama',
|
||||
y: 'he tau',
|
||||
yy: '%d tau'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}º/,
|
||||
ordinal: '%dº',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Faroese [fo]
|
||||
//! author : Ragnar Johannesen : https://github.com/ragnar123
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('fo', {
|
||||
months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
|
||||
monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
|
||||
weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
|
||||
weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
|
||||
weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd D. MMMM, YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Í dag kl.] LT',
|
||||
nextDay : '[Í morgin kl.] LT',
|
||||
nextWeek : 'dddd [kl.] LT',
|
||||
lastDay : '[Í gjár kl.] LT',
|
||||
lastWeek : '[síðstu] dddd [kl] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'um %s',
|
||||
past : '%s síðani',
|
||||
s : 'fá sekund',
|
||||
ss : '%d sekundir',
|
||||
m : 'ein minutt',
|
||||
mm : '%d minuttir',
|
||||
h : 'ein tími',
|
||||
hh : '%d tímar',
|
||||
d : 'ein dagur',
|
||||
dd : '%d dagar',
|
||||
M : 'ein mánaði',
|
||||
MM : '%d mánaðir',
|
||||
y : 'eitt ár',
|
||||
yy : '%d ár'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
|
||||
*
|
||||
* @version v1.15.2
|
||||
* @homepage https://bootstrap-table.com
|
||||
* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],b):(a=a||self,b(a.jQuery))})(this,function(a){'use strict';function b(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function c(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function d(a,b,d){return b&&c(a.prototype,b),d&&c(a,d),a}function e(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),b&&g(a,b)}function f(a){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)},f(a)}function g(a,b){return g=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a},g(a,b)}function h(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function i(a,b){return b&&("object"==typeof b||"function"==typeof b)?b:h(a)}a=a&&a.hasOwnProperty("default")?a["default"]:a,a.fn.bootstrapTable.methods.push("changeTitle"),a.fn.bootstrapTable.methods.push("changeLocale"),a.BootstrapTable=function(c){function g(){return b(this,g),i(this,f(g).apply(this,arguments))}return e(g,c),d(g,[{key:"changeTitle",value:function(b){a.each(this.options.columns,function(c,d){a.each(d,function(a,c){c.field&&(c.title=b[c.field])})}),this.initHeader(),this.initBody(),this.initToolbar()}},{key:"changeLocale",value:function(a){this.options.locale=a,this.initLocale(),this.initPagination(),this.initBody(),this.initToolbar()}}]),g}(a.BootstrapTable)});
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package kr.co.i4way.webocket.domain;
|
||||
|
||||
public class Chat {
|
||||
private String name;
|
||||
private String message;
|
||||
|
||||
public Chat() {
|
||||
|
||||
}
|
||||
|
||||
public Chat(String name, String message) {
|
||||
this.name = name;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,22 @@
|
|||
package kr.co.i4way.sample.model;
|
||||
|
||||
public class TestListVo {
|
||||
private String param1;
|
||||
private String param2;
|
||||
public String getParam1() {
|
||||
return param1;
|
||||
}
|
||||
public void setParam1(String param1) {
|
||||
this.param1 = param1;
|
||||
}
|
||||
public String getParam2() {
|
||||
return param2;
|
||||
}
|
||||
public void setParam2(String param2) {
|
||||
this.param2 = param2;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TestListVo [param1=" + param1 + ", param2=" + param2 + "]";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.ReadableByteChannel;
|
||||
import java.util.Properties;
|
||||
|
||||
public class MavenWrapperDownloader {
|
||||
|
||||
/**
|
||||
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
|
||||
*/
|
||||
private static final String DEFAULT_DOWNLOAD_URL =
|
||||
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
|
||||
|
||||
/**
|
||||
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
|
||||
* use instead of the default one.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
|
||||
".mvn/wrapper/maven-wrapper.properties";
|
||||
|
||||
/**
|
||||
* Path where the maven-wrapper.jar will be saved to.
|
||||
*/
|
||||
private static final String MAVEN_WRAPPER_JAR_PATH =
|
||||
".mvn/wrapper/maven-wrapper.jar";
|
||||
|
||||
/**
|
||||
* Name of the property which should be used to override the default download url for the wrapper.
|
||||
*/
|
||||
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
|
||||
|
||||
public static void main(String args[]) {
|
||||
System.out.println("- Downloader started");
|
||||
File baseDirectory = new File(args[0]);
|
||||
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
|
||||
|
||||
// If the maven-wrapper.properties exists, read it and check if it contains a custom
|
||||
// wrapperUrl parameter.
|
||||
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
|
||||
String url = DEFAULT_DOWNLOAD_URL;
|
||||
if(mavenWrapperPropertyFile.exists()) {
|
||||
FileInputStream mavenWrapperPropertyFileInputStream = null;
|
||||
try {
|
||||
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
|
||||
Properties mavenWrapperProperties = new Properties();
|
||||
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
|
||||
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
|
||||
} catch (IOException e) {
|
||||
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
|
||||
} finally {
|
||||
try {
|
||||
if(mavenWrapperPropertyFileInputStream != null) {
|
||||
mavenWrapperPropertyFileInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Ignore ...
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading from: : " + url);
|
||||
|
||||
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
|
||||
if(!outputFile.getParentFile().exists()) {
|
||||
if(!outputFile.getParentFile().mkdirs()) {
|
||||
System.out.println(
|
||||
"- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
|
||||
}
|
||||
}
|
||||
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
|
||||
try {
|
||||
downloadFileFromURL(url, outputFile);
|
||||
System.out.println("Done");
|
||||
System.exit(0);
|
||||
} catch (Throwable e) {
|
||||
System.out.println("- Error downloading");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
|
||||
URL website = new URL(urlString);
|
||||
ReadableByteChannel rbc;
|
||||
rbc = Channels.newChannel(website.openStream());
|
||||
FileOutputStream fos = new FileOutputStream(destination);
|
||||
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
|
||||
fos.close();
|
||||
rbc.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : German (Austria) [de-at]
|
||||
//! author : lluchs : https://github.com/lluchs
|
||||
//! author: Menelion Elensúle: https://github.com/Oire
|
||||
//! author : Martin Groller : https://github.com/MadMG
|
||||
//! author : Mikolaj Dadela : https://github.com/mik01aj
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
||||
var format = {
|
||||
'm': ['eine Minute', 'einer Minute'],
|
||||
'h': ['eine Stunde', 'einer Stunde'],
|
||||
'd': ['ein Tag', 'einem Tag'],
|
||||
'dd': [number + ' Tage', number + ' Tagen'],
|
||||
'M': ['ein Monat', 'einem Monat'],
|
||||
'MM': [number + ' Monate', number + ' Monaten'],
|
||||
'y': ['ein Jahr', 'einem Jahr'],
|
||||
'yy': [number + ' Jahre', number + ' Jahren']
|
||||
};
|
||||
return withoutSuffix ? format[key][0] : format[key][1];
|
||||
}
|
||||
|
||||
export default moment.defineLocale('de-at', {
|
||||
months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
||||
monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
|
||||
monthsParseExact : true,
|
||||
weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
||||
weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
|
||||
weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT: 'HH:mm',
|
||||
LTS: 'HH:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D. MMMM YYYY',
|
||||
LLL : 'D. MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd, D. MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay: '[heute um] LT [Uhr]',
|
||||
sameElse: 'L',
|
||||
nextDay: '[morgen um] LT [Uhr]',
|
||||
nextWeek: 'dddd [um] LT [Uhr]',
|
||||
lastDay: '[gestern um] LT [Uhr]',
|
||||
lastWeek: '[letzten] dddd [um] LT [Uhr]'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'in %s',
|
||||
past : 'vor %s',
|
||||
s : 'ein paar Sekunden',
|
||||
ss : '%d Sekunden',
|
||||
m : processRelativeTime,
|
||||
mm : '%d Minuten',
|
||||
h : processRelativeTime,
|
||||
hh : '%d Stunden',
|
||||
d : processRelativeTime,
|
||||
dd : processRelativeTime,
|
||||
M : processRelativeTime,
|
||||
MM : processRelativeTime,
|
||||
y : processRelativeTime,
|
||||
yy : processRelativeTime
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,774 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
|
||||
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
||||
(global = global || self, factory(global.jQuery));
|
||||
}(this, function ($) { 'use strict';
|
||||
|
||||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
var O = 'object';
|
||||
var check = function (it) {
|
||||
return it && it.Math == Math && it;
|
||||
};
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global_1 =
|
||||
// eslint-disable-next-line no-undef
|
||||
check(typeof globalThis == O && globalThis) ||
|
||||
check(typeof window == O && window) ||
|
||||
check(typeof self == O && self) ||
|
||||
check(typeof commonjsGlobal == O && commonjsGlobal) ||
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function('return this')();
|
||||
|
||||
var fails = function (exec) {
|
||||
try {
|
||||
return !!exec();
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var descriptors = !fails(function () {
|
||||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||||
});
|
||||
|
||||
var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
|
||||
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// Nashorn ~ JDK8 bug
|
||||
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
||||
|
||||
// `Object.prototype.propertyIsEnumerable` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
|
||||
var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||||
var descriptor = getOwnPropertyDescriptor(this, V);
|
||||
return !!descriptor && descriptor.enumerable;
|
||||
} : nativePropertyIsEnumerable;
|
||||
|
||||
var objectPropertyIsEnumerable = {
|
||||
f: f
|
||||
};
|
||||
|
||||
var createPropertyDescriptor = function (bitmap, value) {
|
||||
return {
|
||||
enumerable: !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable: !(bitmap & 4),
|
||||
value: value
|
||||
};
|
||||
};
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
var classofRaw = function (it) {
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
var split = ''.split;
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var indexedObject = fails(function () {
|
||||
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
return !Object('z').propertyIsEnumerable(0);
|
||||
}) ? function (it) {
|
||||
return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
|
||||
} : Object;
|
||||
|
||||
// `RequireObjectCoercible` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
|
||||
var requireObjectCoercible = function (it) {
|
||||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
// toObject with fallback for non-array-like ES3 strings
|
||||
|
||||
|
||||
|
||||
var toIndexedObject = function (it) {
|
||||
return indexedObject(requireObjectCoercible(it));
|
||||
};
|
||||
|
||||
var isObject = function (it) {
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
// `ToPrimitive` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toprimitive
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
var toPrimitive = function (input, PREFERRED_STRING) {
|
||||
if (!isObject(input)) return input;
|
||||
var fn, val;
|
||||
if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
|
||||
var has = function (it, key) {
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
var document = global_1.document;
|
||||
// typeof document.createElement is 'object' in old IE
|
||||
var EXISTS = isObject(document) && isObject(document.createElement);
|
||||
|
||||
var documentCreateElement = function (it) {
|
||||
return EXISTS ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
var ie8DomDefine = !descriptors && !fails(function () {
|
||||
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
});
|
||||
|
||||
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
||||
O = toIndexedObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeGetOwnPropertyDescriptor(O, P);
|
||||
} catch (error) { /* empty */ }
|
||||
if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyDescriptor = {
|
||||
f: f$1
|
||||
};
|
||||
|
||||
var anObject = function (it) {
|
||||
if (!isObject(it)) {
|
||||
throw TypeError(String(it) + ' is not an object');
|
||||
} return it;
|
||||
};
|
||||
|
||||
var nativeDefineProperty = Object.defineProperty;
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.defineproperty
|
||||
var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if (ie8DomDefine) try {
|
||||
return nativeDefineProperty(O, P, Attributes);
|
||||
} catch (error) { /* empty */ }
|
||||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
|
||||
if ('value' in Attributes) O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
var objectDefineProperty = {
|
||||
f: f$2
|
||||
};
|
||||
|
||||
var hide = descriptors ? function (object, key, value) {
|
||||
return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
|
||||
} : function (object, key, value) {
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
var setGlobal = function (key, value) {
|
||||
try {
|
||||
hide(global_1, key, value);
|
||||
} catch (error) {
|
||||
global_1[key] = value;
|
||||
} return value;
|
||||
};
|
||||
|
||||
var shared = createCommonjsModule(function (module) {
|
||||
var SHARED = '__core-js_shared__';
|
||||
var store = global_1[SHARED] || setGlobal(SHARED, {});
|
||||
|
||||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.1.3',
|
||||
mode: 'global',
|
||||
copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
|
||||
});
|
||||
});
|
||||
|
||||
var functionToString = shared('native-function-to-string', Function.toString);
|
||||
|
||||
var WeakMap = global_1.WeakMap;
|
||||
|
||||
var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(functionToString.call(WeakMap));
|
||||
|
||||
var id = 0;
|
||||
var postfix = Math.random();
|
||||
|
||||
var uid = function (key) {
|
||||
return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
|
||||
};
|
||||
|
||||
var keys = shared('keys');
|
||||
|
||||
var sharedKey = function (key) {
|
||||
return keys[key] || (keys[key] = uid(key));
|
||||
};
|
||||
|
||||
var hiddenKeys = {};
|
||||
|
||||
var WeakMap$1 = global_1.WeakMap;
|
||||
var set, get, has$1;
|
||||
|
||||
var enforce = function (it) {
|
||||
return has$1(it) ? get(it) : set(it, {});
|
||||
};
|
||||
|
||||
var getterFor = function (TYPE) {
|
||||
return function (it) {
|
||||
var state;
|
||||
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
||||
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
||||
} return state;
|
||||
};
|
||||
};
|
||||
|
||||
if (nativeWeakMap) {
|
||||
var store = new WeakMap$1();
|
||||
var wmget = store.get;
|
||||
var wmhas = store.has;
|
||||
var wmset = store.set;
|
||||
set = function (it, metadata) {
|
||||
wmset.call(store, it, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return wmget.call(store, it) || {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return wmhas.call(store, it);
|
||||
};
|
||||
} else {
|
||||
var STATE = sharedKey('state');
|
||||
hiddenKeys[STATE] = true;
|
||||
set = function (it, metadata) {
|
||||
hide(it, STATE, metadata);
|
||||
return metadata;
|
||||
};
|
||||
get = function (it) {
|
||||
return has(it, STATE) ? it[STATE] : {};
|
||||
};
|
||||
has$1 = function (it) {
|
||||
return has(it, STATE);
|
||||
};
|
||||
}
|
||||
|
||||
var internalState = {
|
||||
set: set,
|
||||
get: get,
|
||||
has: has$1,
|
||||
enforce: enforce,
|
||||
getterFor: getterFor
|
||||
};
|
||||
|
||||
var redefine = createCommonjsModule(function (module) {
|
||||
var getInternalState = internalState.get;
|
||||
var enforceInternalState = internalState.enforce;
|
||||
var TEMPLATE = String(functionToString).split('toString');
|
||||
|
||||
shared('inspectSource', function (it) {
|
||||
return functionToString.call(it);
|
||||
});
|
||||
|
||||
(module.exports = function (O, key, value, options) {
|
||||
var unsafe = options ? !!options.unsafe : false;
|
||||
var simple = options ? !!options.enumerable : false;
|
||||
var noTargetGet = options ? !!options.noTargetGet : false;
|
||||
if (typeof value == 'function') {
|
||||
if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
|
||||
enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
|
||||
}
|
||||
if (O === global_1) {
|
||||
if (simple) O[key] = value;
|
||||
else setGlobal(key, value);
|
||||
return;
|
||||
} else if (!unsafe) {
|
||||
delete O[key];
|
||||
} else if (!noTargetGet && O[key]) {
|
||||
simple = true;
|
||||
}
|
||||
if (simple) O[key] = value;
|
||||
else hide(O, key, value);
|
||||
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
||||
})(Function.prototype, 'toString', function toString() {
|
||||
return typeof this == 'function' && getInternalState(this).source || functionToString.call(this);
|
||||
});
|
||||
});
|
||||
|
||||
var path = global_1;
|
||||
|
||||
var aFunction = function (variable) {
|
||||
return typeof variable == 'function' ? variable : undefined;
|
||||
};
|
||||
|
||||
var getBuiltIn = function (namespace, method) {
|
||||
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
|
||||
: path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
|
||||
};
|
||||
|
||||
var ceil = Math.ceil;
|
||||
var floor = Math.floor;
|
||||
|
||||
// `ToInteger` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tointeger
|
||||
var toInteger = function (argument) {
|
||||
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
||||
};
|
||||
|
||||
var min = Math.min;
|
||||
|
||||
// `ToLength` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-tolength
|
||||
var toLength = function (argument) {
|
||||
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
var max = Math.max;
|
||||
var min$1 = Math.min;
|
||||
|
||||
// Helper for a popular repeating case of the spec:
|
||||
// Let integer be ? ToInteger(index).
|
||||
// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
|
||||
var toAbsoluteIndex = function (index, length) {
|
||||
var integer = toInteger(index);
|
||||
return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
|
||||
};
|
||||
|
||||
// `Array.prototype.{ indexOf, includes }` methods implementation
|
||||
var createMethod = function (IS_INCLUDES) {
|
||||
return function ($this, el, fromIndex) {
|
||||
var O = toIndexedObject($this);
|
||||
var length = toLength(O.length);
|
||||
var index = toAbsoluteIndex(fromIndex, length);
|
||||
var value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (IS_INCLUDES && el != el) while (length > index) {
|
||||
value = O[index++];
|
||||
// eslint-disable-next-line no-self-compare
|
||||
if (value != value) return true;
|
||||
// Array#indexOf ignores holes, Array#includes - not
|
||||
} else for (;length > index; index++) {
|
||||
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
var arrayIncludes = {
|
||||
// `Array.prototype.includes` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
|
||||
includes: createMethod(true),
|
||||
// `Array.prototype.indexOf` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
|
||||
indexOf: createMethod(false)
|
||||
};
|
||||
|
||||
var indexOf = arrayIncludes.indexOf;
|
||||
|
||||
|
||||
var objectKeysInternal = function (object, names) {
|
||||
var O = toIndexedObject(object);
|
||||
var i = 0;
|
||||
var result = [];
|
||||
var key;
|
||||
for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while (names.length > i) if (has(O, key = names[i++])) {
|
||||
~indexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
// IE8- don't enum bug keys
|
||||
var enumBugKeys = [
|
||||
'constructor',
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toLocaleString',
|
||||
'toString',
|
||||
'valueOf'
|
||||
];
|
||||
|
||||
var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
|
||||
|
||||
// `Object.getOwnPropertyNames` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
|
||||
var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return objectKeysInternal(O, hiddenKeys$1);
|
||||
};
|
||||
|
||||
var objectGetOwnPropertyNames = {
|
||||
f: f$3
|
||||
};
|
||||
|
||||
var f$4 = Object.getOwnPropertySymbols;
|
||||
|
||||
var objectGetOwnPropertySymbols = {
|
||||
f: f$4
|
||||
};
|
||||
|
||||
// all object keys, includes non-enumerable and symbols
|
||||
var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
||||
var keys = objectGetOwnPropertyNames.f(anObject(it));
|
||||
var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
||||
return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
|
||||
};
|
||||
|
||||
var copyConstructorProperties = function (target, source) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = objectDefineProperty.f;
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
};
|
||||
|
||||
var replacement = /#|\.prototype\./;
|
||||
|
||||
var isForced = function (feature, detection) {
|
||||
var value = data[normalize(feature)];
|
||||
return value == POLYFILL ? true
|
||||
: value == NATIVE ? false
|
||||
: typeof detection == 'function' ? fails(detection)
|
||||
: !!detection;
|
||||
};
|
||||
|
||||
var normalize = isForced.normalize = function (string) {
|
||||
return String(string).replace(replacement, '.').toLowerCase();
|
||||
};
|
||||
|
||||
var data = isForced.data = {};
|
||||
var NATIVE = isForced.NATIVE = 'N';
|
||||
var POLYFILL = isForced.POLYFILL = 'P';
|
||||
|
||||
var isForced_1 = isForced;
|
||||
|
||||
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
options.target - name of the target object
|
||||
options.global - target is the global object
|
||||
options.stat - export as static methods of target
|
||||
options.proto - export as prototype methods of target
|
||||
options.real - real prototype method for the `pure` version
|
||||
options.forced - export even if the native feature is available
|
||||
options.bind - bind methods to the target, required for the `pure` version
|
||||
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
|
||||
options.unsafe - use the simple assignment of property instead of delete + defineProperty
|
||||
options.sham - add a flag to not completely full polyfills
|
||||
options.enumerable - export as enumerable property
|
||||
options.noTargetGet - prevent calling a getter on target
|
||||
*/
|
||||
var _export = function (options, source) {
|
||||
var TARGET = options.target;
|
||||
var GLOBAL = options.global;
|
||||
var STATIC = options.stat;
|
||||
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
||||
if (GLOBAL) {
|
||||
target = global_1;
|
||||
} else if (STATIC) {
|
||||
target = global_1[TARGET] || setGlobal(TARGET, {});
|
||||
} else {
|
||||
target = (global_1[TARGET] || {}).prototype;
|
||||
}
|
||||
if (target) for (key in source) {
|
||||
sourceProperty = source[key];
|
||||
if (options.noTargetGet) {
|
||||
descriptor = getOwnPropertyDescriptor$1(target, key);
|
||||
targetProperty = descriptor && descriptor.value;
|
||||
} else targetProperty = target[key];
|
||||
FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
||||
// contained in target
|
||||
if (!FORCED && targetProperty !== undefined) {
|
||||
if (typeof sourceProperty === typeof targetProperty) continue;
|
||||
copyConstructorProperties(sourceProperty, targetProperty);
|
||||
}
|
||||
// add a flag to not completely full polyfills
|
||||
if (options.sham || (targetProperty && targetProperty.sham)) {
|
||||
hide(sourceProperty, 'sham', true);
|
||||
}
|
||||
// extend global
|
||||
redefine(target, key, sourceProperty, options);
|
||||
}
|
||||
};
|
||||
|
||||
// `IsArray` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-isarray
|
||||
var isArray = Array.isArray || function isArray(arg) {
|
||||
return classofRaw(arg) == 'Array';
|
||||
};
|
||||
|
||||
// `ToObject` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-toobject
|
||||
var toObject = function (argument) {
|
||||
return Object(requireObjectCoercible(argument));
|
||||
};
|
||||
|
||||
var createProperty = function (object, key, value) {
|
||||
var propertyKey = toPrimitive(key);
|
||||
if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
|
||||
else object[propertyKey] = value;
|
||||
};
|
||||
|
||||
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
||||
// Chrome 38 Symbol has incorrect toString conversion
|
||||
// eslint-disable-next-line no-undef
|
||||
return !String(Symbol());
|
||||
});
|
||||
|
||||
var Symbol$1 = global_1.Symbol;
|
||||
var store$1 = shared('wks');
|
||||
|
||||
var wellKnownSymbol = function (name) {
|
||||
return store$1[name] || (store$1[name] = nativeSymbol && Symbol$1[name]
|
||||
|| (nativeSymbol ? Symbol$1 : uid)('Symbol.' + name));
|
||||
};
|
||||
|
||||
var SPECIES = wellKnownSymbol('species');
|
||||
|
||||
// `ArraySpeciesCreate` abstract operation
|
||||
// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
|
||||
var arraySpeciesCreate = function (originalArray, length) {
|
||||
var C;
|
||||
if (isArray(originalArray)) {
|
||||
C = originalArray.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||||
else if (isObject(C)) {
|
||||
C = C[SPECIES];
|
||||
if (C === null) C = undefined;
|
||||
}
|
||||
} return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
|
||||
};
|
||||
|
||||
var SPECIES$1 = wellKnownSymbol('species');
|
||||
|
||||
var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
|
||||
return !fails(function () {
|
||||
var array = [];
|
||||
var constructor = array.constructor = {};
|
||||
constructor[SPECIES$1] = function () {
|
||||
return { foo: 1 };
|
||||
};
|
||||
return array[METHOD_NAME](Boolean).foo !== 1;
|
||||
});
|
||||
};
|
||||
|
||||
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
||||
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
||||
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
||||
|
||||
var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
|
||||
var array = [];
|
||||
array[IS_CONCAT_SPREADABLE] = false;
|
||||
return array.concat()[0] !== array;
|
||||
});
|
||||
|
||||
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
|
||||
|
||||
var isConcatSpreadable = function (O) {
|
||||
if (!isObject(O)) return false;
|
||||
var spreadable = O[IS_CONCAT_SPREADABLE];
|
||||
return spreadable !== undefined ? !!spreadable : isArray(O);
|
||||
};
|
||||
|
||||
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
||||
|
||||
// `Array.prototype.concat` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.concat
|
||||
// with adding support of @@isConcatSpreadable and @@species
|
||||
_export({ target: 'Array', proto: true, forced: FORCED }, {
|
||||
concat: function concat(arg) { // eslint-disable-line no-unused-vars
|
||||
var O = toObject(this);
|
||||
var A = arraySpeciesCreate(O, 0);
|
||||
var n = 0;
|
||||
var i, k, length, len, E;
|
||||
for (i = -1, length = arguments.length; i < length; i++) {
|
||||
E = i === -1 ? O : arguments[i];
|
||||
if (isConcatSpreadable(E)) {
|
||||
len = toLength(E.length);
|
||||
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
||||
} else {
|
||||
if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
||||
createProperty(A, n++, E);
|
||||
}
|
||||
}
|
||||
A.length = n;
|
||||
return A;
|
||||
}
|
||||
});
|
||||
|
||||
var SPECIES$2 = wellKnownSymbol('species');
|
||||
var nativeSlice = [].slice;
|
||||
var max$1 = Math.max;
|
||||
|
||||
// `Array.prototype.slice` method
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.slice
|
||||
// fallback for not array-like ES3 strings and DOM objects
|
||||
_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
|
||||
slice: function slice(start, end) {
|
||||
var O = toIndexedObject(this);
|
||||
var length = toLength(O.length);
|
||||
var k = toAbsoluteIndex(start, length);
|
||||
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
||||
// inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
|
||||
var Constructor, result, n;
|
||||
if (isArray(O)) {
|
||||
Constructor = O.constructor;
|
||||
// cross-realm fallback
|
||||
if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
|
||||
Constructor = undefined;
|
||||
} else if (isObject(Constructor)) {
|
||||
Constructor = Constructor[SPECIES$2];
|
||||
if (Constructor === null) Constructor = undefined;
|
||||
}
|
||||
if (Constructor === Array || Constructor === undefined) {
|
||||
return nativeSlice.call(O, k, fin);
|
||||
}
|
||||
}
|
||||
result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
|
||||
for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
|
||||
result.length = n;
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
var rowAttr = function rowAttr(row, index) {
|
||||
return {
|
||||
id: "customId_".concat(index)
|
||||
};
|
||||
};
|
||||
|
||||
$.extend($.fn.bootstrapTable.defaults, {
|
||||
reorderableRows: false,
|
||||
onDragStyle: null,
|
||||
onDropStyle: null,
|
||||
onDragClass: 'reorder_rows_onDragClass',
|
||||
dragHandle: null,
|
||||
useRowAttrFunc: false,
|
||||
onReorderRowsDrag: function onReorderRowsDrag(table, row) {
|
||||
return false;
|
||||
},
|
||||
onReorderRowsDrop: function onReorderRowsDrop(table, row) {
|
||||
return false;
|
||||
},
|
||||
onReorderRow: function onReorderRow(newData) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
|
||||
'reorder-row.bs.table': 'onReorderRow'
|
||||
});
|
||||
var BootstrapTable = $.fn.bootstrapTable.Constructor;
|
||||
var _init = BootstrapTable.prototype.init;
|
||||
var _initSearch = BootstrapTable.prototype.initSearch;
|
||||
|
||||
BootstrapTable.prototype.init = function () {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
if (!this.options.reorderableRows) {
|
||||
_init.apply(this, Array.prototype.slice.apply(args));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var that = this;
|
||||
|
||||
if (this.options.useRowAttrFunc) {
|
||||
this.options.rowAttributes = rowAttr;
|
||||
}
|
||||
|
||||
var onPostBody = this.options.onPostBody;
|
||||
|
||||
this.options.onPostBody = function () {
|
||||
setTimeout(function () {
|
||||
that.makeRowsReorderable();
|
||||
onPostBody.apply();
|
||||
}, 1);
|
||||
};
|
||||
|
||||
_init.apply(this, Array.prototype.slice.apply(args));
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.initSearch = function () {
|
||||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
||||
args[_key2] = arguments[_key2];
|
||||
}
|
||||
|
||||
_initSearch.apply(this, Array.prototype.slice.apply(args));
|
||||
|
||||
if (!this.options.reorderableRows) {
|
||||
return;
|
||||
} // Known issue after search if you reorder the rows the data is not display properly
|
||||
// isSearch = true;
|
||||
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.makeRowsReorderable = function () {
|
||||
if (this.options.cardView) {
|
||||
return;
|
||||
}
|
||||
|
||||
var that = this;
|
||||
this.$el.tableDnD({
|
||||
onDragStyle: that.options.onDragStyle,
|
||||
onDropStyle: that.options.onDropStyle,
|
||||
onDragClass: that.options.onDragClass,
|
||||
onDrop: that.onDrop,
|
||||
onDragStart: that.options.onReorderRowsDrag,
|
||||
dragHandle: that.options.dragHandle
|
||||
});
|
||||
};
|
||||
|
||||
BootstrapTable.prototype.onDrop = function (table, droppedRow) {
|
||||
var tableBs = $(table);
|
||||
var tableBsData = tableBs.data('bootstrap.table');
|
||||
var tableBsOptions = tableBs.data('bootstrap.table').options;
|
||||
var row = null;
|
||||
var newData = [];
|
||||
|
||||
for (var i = 0; i < table.tBodies[0].rows.length; i++) {
|
||||
row = $(table.tBodies[0].rows[i]);
|
||||
newData.push(tableBsOptions.data[row.data('index')]);
|
||||
row.data('index', i).attr('data-index', i);
|
||||
}
|
||||
|
||||
tableBsOptions.data = tableBsOptions.data.slice(0, tableBsData.pageFrom - 1).concat(newData).concat(tableBsOptions.data.slice(tableBsData.pageTo)); // Call the user defined function
|
||||
|
||||
tableBsOptions.onReorderRowsDrop.apply(table, [table, droppedRow]); // Call the event reorder-row
|
||||
|
||||
tableBsData.trigger('reorder-row', newData);
|
||||
};
|
||||
|
||||
}));
|
||||
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 one or more lines are too long
|
|
@ -0,0 +1,35 @@
|
|||
package kr.co.i4way.genesys.config;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.genesyslab.platform.applicationblocks.com.ConfigException;
|
||||
import com.genesyslab.platform.applicationblocks.com.IConfService;
|
||||
import com.genesyslab.platform.applicationblocks.com.objects.CfgDN;
|
||||
import com.genesyslab.platform.applicationblocks.com.queries.CfgDNQuery;
|
||||
|
||||
public class DNs {
|
||||
|
||||
public DNs(){
|
||||
}
|
||||
|
||||
public CfgDN SelectDN(
|
||||
int iTenantDBID,
|
||||
int iDbid,
|
||||
final IConfService service)
|
||||
throws ConfigException, InterruptedException {
|
||||
// Read configuration objects:
|
||||
CfgDN rtnDn = null;
|
||||
CfgDNQuery dnquery = new CfgDNQuery();
|
||||
dnquery.setTenantDbid(iTenantDBID);
|
||||
dnquery.setDbid(iDbid);
|
||||
Collection<CfgDN> dns = service.retrieveMultipleObjects(CfgDN.class,
|
||||
dnquery);
|
||||
for(CfgDN dn : dns){
|
||||
rtnDn = dn;
|
||||
}
|
||||
|
||||
return rtnDn;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
|
@ -0,0 +1,58 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Basque [eu]
|
||||
//! author : Eneko Illarramendi : https://github.com/eillarra
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('eu', {
|
||||
months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
|
||||
monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
|
||||
monthsParseExact : true,
|
||||
weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
|
||||
weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
|
||||
weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'YYYY-MM-DD',
|
||||
LL : 'YYYY[ko] MMMM[ren] D[a]',
|
||||
LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
|
||||
LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
|
||||
l : 'YYYY-M-D',
|
||||
ll : 'YYYY[ko] MMM D[a]',
|
||||
lll : 'YYYY[ko] MMM D[a] HH:mm',
|
||||
llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[gaur] LT[etan]',
|
||||
nextDay : '[bihar] LT[etan]',
|
||||
nextWeek : 'dddd LT[etan]',
|
||||
lastDay : '[atzo] LT[etan]',
|
||||
lastWeek : '[aurreko] dddd LT[etan]',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s barru',
|
||||
past : 'duela %s',
|
||||
s : 'segundo batzuk',
|
||||
ss : '%d segundo',
|
||||
m : 'minutu bat',
|
||||
mm : '%d minutu',
|
||||
h : 'ordu bat',
|
||||
hh : '%d ordu',
|
||||
d : 'egun bat',
|
||||
dd : '%d egun',
|
||||
M : 'hilabete bat',
|
||||
MM : '%d hilabete',
|
||||
y : 'urte bat',
|
||||
yy : '%d urte'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Azerbaijani [az]
|
||||
//! author : topchiyev : https://github.com/topchiyev
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var suffixes = {
|
||||
1: '-inci',
|
||||
5: '-inci',
|
||||
8: '-inci',
|
||||
70: '-inci',
|
||||
80: '-inci',
|
||||
2: '-nci',
|
||||
7: '-nci',
|
||||
20: '-nci',
|
||||
50: '-nci',
|
||||
3: '-üncü',
|
||||
4: '-üncü',
|
||||
100: '-üncü',
|
||||
6: '-ncı',
|
||||
9: '-uncu',
|
||||
10: '-uncu',
|
||||
30: '-uncu',
|
||||
60: '-ıncı',
|
||||
90: '-ıncı'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('az', {
|
||||
months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
|
||||
monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
|
||||
weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
|
||||
weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
|
||||
weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[bugün saat] LT',
|
||||
nextDay : '[sabah saat] LT',
|
||||
nextWeek : '[gələn həftə] dddd [saat] LT',
|
||||
lastDay : '[dünən] LT',
|
||||
lastWeek : '[keçən həftə] dddd [saat] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s sonra',
|
||||
past : '%s əvvəl',
|
||||
s : 'birneçə saniyə',
|
||||
ss : '%d saniyə',
|
||||
m : 'bir dəqiqə',
|
||||
mm : '%d dəqiqə',
|
||||
h : 'bir saat',
|
||||
hh : '%d saat',
|
||||
d : 'bir gün',
|
||||
dd : '%d gün',
|
||||
M : 'bir ay',
|
||||
MM : '%d ay',
|
||||
y : 'bir il',
|
||||
yy : '%d il'
|
||||
},
|
||||
meridiemParse: /gecə|səhər|gündüz|axşam/,
|
||||
isPM : function (input) {
|
||||
return /^(gündüz|axşam)$/.test(input);
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 4) {
|
||||
return 'gecə';
|
||||
} else if (hour < 12) {
|
||||
return 'səhər';
|
||||
} else if (hour < 17) {
|
||||
return 'gündüz';
|
||||
} else {
|
||||
return 'axşam';
|
||||
}
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
|
||||
ordinal : function (number) {
|
||||
if (number === 0) { // special case for zero
|
||||
return number + '-ıncı';
|
||||
}
|
||||
var a = number % 10,
|
||||
b = number % 100 - a,
|
||||
c = number >= 100 ? 100 : null;
|
||||
return number + (suffixes[a] || suffixes[b] || suffixes[c]);
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package kr.co.i4way.genesys.stat;
|
||||
|
||||
public class StatExModel {
|
||||
private int id;
|
||||
private String objId;
|
||||
private String objType;
|
||||
private String tenant;
|
||||
private String tenantPw;
|
||||
private String intervalType;
|
||||
private String intervalLength;
|
||||
private String category;
|
||||
private String subject;
|
||||
private String notificationMode;
|
||||
private int frequency;
|
||||
private int insensitivity;
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getObjId() {
|
||||
return objId;
|
||||
}
|
||||
public void setObjId(String objId) {
|
||||
this.objId = objId;
|
||||
}
|
||||
public String getObjType() {
|
||||
return objType;
|
||||
}
|
||||
public void setObjType(String objType) {
|
||||
this.objType = objType;
|
||||
}
|
||||
public String getTenant() {
|
||||
return tenant;
|
||||
}
|
||||
public void setTenant(String tenant) {
|
||||
this.tenant = tenant;
|
||||
}
|
||||
public String getTenantPw() {
|
||||
return tenantPw;
|
||||
}
|
||||
public void setTenantPw(String tenantPw) {
|
||||
this.tenantPw = tenantPw;
|
||||
}
|
||||
public String getIntervalType() {
|
||||
return intervalType;
|
||||
}
|
||||
public void setIntervalType(String intervalType) {
|
||||
this.intervalType = intervalType;
|
||||
}
|
||||
public String getIntervalLength() {
|
||||
return intervalLength;
|
||||
}
|
||||
public void setIntervalLength(String intervalLength) {
|
||||
this.intervalLength = intervalLength;
|
||||
}
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
public void setCategory(String category) {
|
||||
this.category = category;
|
||||
}
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
public void setSubject(String subject) {
|
||||
this.subject = subject;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "StatExModel [id=" + id + ", objId=" + objId + ", objType=" + objType + ", tenant=" + tenant
|
||||
+ ", tenantPw=" + tenantPw + ", intervalType=" + intervalType + ", intervalLength=" + intervalLength
|
||||
+ ", category=" + category + ", subject=" + subject + "]";
|
||||
}
|
||||
public int getFrequency() {
|
||||
return frequency;
|
||||
}
|
||||
public void setFrequency(int frequency) {
|
||||
this.frequency = frequency;
|
||||
}
|
||||
public String getNotificationMode() {
|
||||
return notificationMode;
|
||||
}
|
||||
public void setNotificationMode(String notificationMode) {
|
||||
this.notificationMode = notificationMode;
|
||||
}
|
||||
public int getInsensitivity() {
|
||||
return insensitivity;
|
||||
}
|
||||
public void setInsensitivity(int insensitivity) {
|
||||
this.insensitivity = insensitivity;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,50 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Bambara [bm]
|
||||
//! author : Estelle Comment : https://github.com/estellecomment
|
||||
// Language contact person : Abdoufata Kane : https://github.com/abdoufata
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('bm', {
|
||||
months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
|
||||
monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
|
||||
weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
|
||||
weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
|
||||
weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'MMMM [tile] D [san] YYYY',
|
||||
LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
|
||||
LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Bi lɛrɛ] LT',
|
||||
nextDay : '[Sini lɛrɛ] LT',
|
||||
nextWeek : 'dddd [don lɛrɛ] LT',
|
||||
lastDay : '[Kunu lɛrɛ] LT',
|
||||
lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s kɔnɔ',
|
||||
past : 'a bɛ %s bɔ',
|
||||
s : 'sanga dama dama',
|
||||
ss : 'sekondi %d',
|
||||
m : 'miniti kelen',
|
||||
mm : 'miniti %d',
|
||||
h : 'lɛrɛ kelen',
|
||||
hh : 'lɛrɛ %d',
|
||||
d : 'tile kelen',
|
||||
dd : 'tile %d',
|
||||
M : 'kalo kelen',
|
||||
MM : 'kalo %d',
|
||||
y : 'san kelen',
|
||||
yy : 'san %d'
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Catalan [ca]
|
||||
//! author : Juan G. Hurtado : https://github.com/juanghurtado
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('ca', {
|
||||
months : {
|
||||
standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
|
||||
format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'),
|
||||
isFormat: /D[oD]?(\s)+MMMM/
|
||||
},
|
||||
monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
|
||||
monthsParseExact : true,
|
||||
weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
|
||||
weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
|
||||
weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM [de] YYYY',
|
||||
ll : 'D MMM YYYY',
|
||||
LLL : 'D MMMM [de] YYYY [a les] H:mm',
|
||||
lll : 'D MMM YYYY, H:mm',
|
||||
LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
|
||||
llll : 'ddd D MMM YYYY, H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : function () {
|
||||
return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
||||
},
|
||||
nextDay : function () {
|
||||
return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
||||
},
|
||||
nextWeek : function () {
|
||||
return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
||||
},
|
||||
lastDay : function () {
|
||||
return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
||||
},
|
||||
lastWeek : function () {
|
||||
return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'd\'aquí %s',
|
||||
past : 'fa %s',
|
||||
s : 'uns segons',
|
||||
ss : '%d segons',
|
||||
m : 'un minut',
|
||||
mm : '%d minuts',
|
||||
h : 'una hora',
|
||||
hh : '%d hores',
|
||||
d : 'un dia',
|
||||
dd : '%d dies',
|
||||
M : 'un mes',
|
||||
MM : '%d mesos',
|
||||
y : 'un any',
|
||||
yy : '%d anys'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
|
||||
ordinal : function (number, period) {
|
||||
var output = (number === 1) ? 'r' :
|
||||
(number === 2) ? 'n' :
|
||||
(number === 3) ? 'r' :
|
||||
(number === 4) ? 't' : 'è';
|
||||
if (period === 'w' || period === 'W') {
|
||||
output = 'a';
|
||||
}
|
||||
return number + output;
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
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
|
|
@ -0,0 +1,145 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Croatian [hr]
|
||||
//! author : Bojan Marković : https://github.com/bmarkovic
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
function translate(number, withoutSuffix, key) {
|
||||
var result = number + ' ';
|
||||
switch (key) {
|
||||
case 'ss':
|
||||
if (number === 1) {
|
||||
result += 'sekunda';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'sekunde';
|
||||
} else {
|
||||
result += 'sekundi';
|
||||
}
|
||||
return result;
|
||||
case 'm':
|
||||
return withoutSuffix ? 'jedna minuta' : 'jedne minute';
|
||||
case 'mm':
|
||||
if (number === 1) {
|
||||
result += 'minuta';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'minute';
|
||||
} else {
|
||||
result += 'minuta';
|
||||
}
|
||||
return result;
|
||||
case 'h':
|
||||
return withoutSuffix ? 'jedan sat' : 'jednog sata';
|
||||
case 'hh':
|
||||
if (number === 1) {
|
||||
result += 'sat';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'sata';
|
||||
} else {
|
||||
result += 'sati';
|
||||
}
|
||||
return result;
|
||||
case 'dd':
|
||||
if (number === 1) {
|
||||
result += 'dan';
|
||||
} else {
|
||||
result += 'dana';
|
||||
}
|
||||
return result;
|
||||
case 'MM':
|
||||
if (number === 1) {
|
||||
result += 'mjesec';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'mjeseca';
|
||||
} else {
|
||||
result += 'mjeseci';
|
||||
}
|
||||
return result;
|
||||
case 'yy':
|
||||
if (number === 1) {
|
||||
result += 'godina';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'godine';
|
||||
} else {
|
||||
result += 'godina';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export default moment.defineLocale('hr', {
|
||||
months : {
|
||||
format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
|
||||
standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
|
||||
},
|
||||
monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
|
||||
monthsParseExact: true,
|
||||
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
||||
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
||||
weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD.MM.YYYY',
|
||||
LL : 'D. MMMM YYYY',
|
||||
LLL : 'D. MMMM YYYY H:mm',
|
||||
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[danas u] LT',
|
||||
nextDay : '[sutra u] LT',
|
||||
nextWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[u] [nedjelju] [u] LT';
|
||||
case 3:
|
||||
return '[u] [srijedu] [u] LT';
|
||||
case 6:
|
||||
return '[u] [subotu] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[u] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
lastDay : '[jučer u] LT',
|
||||
lastWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
return '[prošlu] dddd [u] LT';
|
||||
case 6:
|
||||
return '[prošle] [subote] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[prošli] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'za %s',
|
||||
past : 'prije %s',
|
||||
s : 'par sekundi',
|
||||
ss : translate,
|
||||
m : translate,
|
||||
mm : translate,
|
||||
h : translate,
|
||||
hh : translate,
|
||||
d : 'dan',
|
||||
dd : translate,
|
||||
M : 'mjesec',
|
||||
MM : translate,
|
||||
y : 'godinu',
|
||||
yy : translate
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package kr.co.i4way.webocket.config;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
|
||||
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
|
||||
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
|
||||
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSocketMessageBroker
|
||||
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
|
||||
@Override
|
||||
public void configureMessageBroker(MessageBrokerRegistry registry) {
|
||||
registry.enableSimpleBroker("/topic", "/queue");
|
||||
registry.setApplicationDestinationPrefixes("/app");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerStompEndpoints(StompEndpointRegistry registry) {
|
||||
//registry.addEndpoint("/websocket").withSockJS();
|
||||
registry.addEndpoint("/websocket").setAllowedOrigins("*").withSockJS();
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 826 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
|
|
@ -0,0 +1,36 @@
|
|||
package kr.co.i4way.webocket.config;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.http.server.ServerHttpRequest;
|
||||
import org.springframework.http.server.ServerHttpResponse;
|
||||
import org.springframework.http.server.ServletServerHttpRequest;
|
||||
import org.springframework.web.socket.WebSocketHandler;
|
||||
import org.springframework.web.socket.server.HandshakeInterceptor;
|
||||
|
||||
import io.netty.handler.codec.http.HttpRequest;
|
||||
|
||||
public class HttpHandshakeInterceptor implements HandshakeInterceptor{
|
||||
|
||||
@Override
|
||||
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
|
||||
Map attributes) throws Exception {
|
||||
if(request instanceof ServletServerHttpRequest) {
|
||||
ServletServerHttpRequest servletRequest = (ServletServerHttpRequest)request;
|
||||
HttpSession session = servletRequest.getServletRequest().getSession();
|
||||
attributes.put("currsession", session.getId());
|
||||
}
|
||||
// TODO Auto-generated method stub
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
|
||||
Exception exception) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
.table-cell-input {
|
||||
display: block !important;
|
||||
padding: 5px !important;
|
||||
margin: 0 !important;
|
||||
border: 0 !important;
|
||||
width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
-moz-box-sizing: border-box !important;
|
||||
border-radius: 0 !important;
|
||||
line-height: 1 !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
|
@ -0,0 +1,680 @@
|
|||
accusoft:
|
||||
icons:
|
||||
- accusoft
|
||||
label: Accusoft
|
||||
url: 'https://www.accusoft.com'
|
||||
administrator-technology:
|
||||
icons:
|
||||
- stream
|
||||
label: Administrator Technology
|
||||
url: 'https://administrator.de'
|
||||
adversal:
|
||||
icons:
|
||||
- adversal
|
||||
label: Adversal
|
||||
url: 'https://www.adversal.com'
|
||||
affiliatetheme:
|
||||
icons:
|
||||
- affiliatetheme
|
||||
label: affiliatetheme
|
||||
url: 'https://affiliatetheme.io/en'
|
||||
algolia:
|
||||
icons:
|
||||
- algolia
|
||||
label: Algolia
|
||||
url: 'http://www.algolia.com'
|
||||
amazon-web-services:
|
||||
icons:
|
||||
- aws
|
||||
label: Amazon Web Services
|
||||
url: 'https://aws.amazon.com'
|
||||
amilia:
|
||||
icons:
|
||||
- amilia
|
||||
label: Amilia
|
||||
url: 'http://www.amilia.com'
|
||||
angry-creative:
|
||||
icons:
|
||||
- angrycreative
|
||||
label: Angry Creative
|
||||
url: 'https://angrycreative.se'
|
||||
app-signal:
|
||||
icons:
|
||||
- stroopwafel
|
||||
label: AppSignal
|
||||
url: 'https://appsignal.com'
|
||||
apper-systems-ab:
|
||||
icons:
|
||||
- apper
|
||||
label: Apper Systems AB
|
||||
url: 'http://www.apper.com'
|
||||
'asymmetrik,ltd':
|
||||
icons:
|
||||
- asymmetrik
|
||||
label: 'Asymmetrik, Ltd.'
|
||||
url: 'http://asymmetrik.com'
|
||||
ausmed-education:
|
||||
icons:
|
||||
- user-nurse
|
||||
label: Ausmed Education
|
||||
url: 'https://www.ausmed.com.au'
|
||||
avianex:
|
||||
icons:
|
||||
- avianex
|
||||
label: avianex
|
||||
url: 'https://www.avianex.de'
|
||||
bi-mobject:
|
||||
icons:
|
||||
- bimobject
|
||||
label: BIMobject
|
||||
url: 'http://bimobject.com'
|
||||
bity:
|
||||
icons:
|
||||
- bity
|
||||
label: Bity
|
||||
url: 'http://bity.com'
|
||||
blackpulp-designs:
|
||||
icons:
|
||||
- pray
|
||||
label: Blackpulp Designs
|
||||
url: 'https://www.blackpulp.com'
|
||||
blissbook:
|
||||
icons:
|
||||
- pen-fancy
|
||||
label: Blissbook
|
||||
url: 'https://blissbook.com'
|
||||
büromöbel-experte-gmb-h &co-kg:
|
||||
icons:
|
||||
- buromobelexperte
|
||||
label: Büromöbel-Experte GmbH & Co. KG.
|
||||
url: 'https://www.bueromoebel-experte.de'
|
||||
c-panel:
|
||||
icons:
|
||||
- cpanel
|
||||
label: cPanel
|
||||
url: 'http://cpanel.com'
|
||||
centercode:
|
||||
icons:
|
||||
- centercode
|
||||
label: Centercode
|
||||
url: 'https://www.centercode.com'
|
||||
cibltd:
|
||||
icons:
|
||||
- drum-steelpan
|
||||
label: Comprehensive Insurance Brokers Limited
|
||||
url: 'http://www.cibltd.com'
|
||||
clear-blue-technologies:
|
||||
icons:
|
||||
- solar-panel
|
||||
label: Clear Blue Technologies
|
||||
url: 'http://www.clearbluetechnologies.com'
|
||||
cloudscale-ch:
|
||||
icons:
|
||||
- cloudscale
|
||||
label: cloudscale.ch
|
||||
url: 'https://www.cloudscale.ch'
|
||||
cloudsmith:
|
||||
icons:
|
||||
- cloudsmith
|
||||
label: Cloudsmith
|
||||
url: 'https://cloudsmith.io'
|
||||
cloudversify:
|
||||
icons:
|
||||
- cloudversify
|
||||
label: cloudversify
|
||||
url: 'https://www.cloudversify.com'
|
||||
cuttlefish:
|
||||
icons:
|
||||
- cuttlefish
|
||||
label: Cuttlefish
|
||||
url: 'http://wearecuttlefish.com'
|
||||
cymedica:
|
||||
icons:
|
||||
- wave-square
|
||||
label: CyMedica
|
||||
url: 'https://www.cymedicaortho.com'
|
||||
darren-wiebe:
|
||||
icons:
|
||||
- church
|
||||
label: Darren Wiebe
|
||||
deploy-dog:
|
||||
icons:
|
||||
- deploydog
|
||||
label: deploy.dog
|
||||
url: 'http://deploy.dog'
|
||||
deskpro:
|
||||
icons:
|
||||
- deskpro
|
||||
label: Deskpro
|
||||
url: 'http://www.deskpro.com'
|
||||
discourse:
|
||||
icons:
|
||||
- discourse
|
||||
label: Discourse
|
||||
url: 'https://discourse.org'
|
||||
doc-hub:
|
||||
icons:
|
||||
- dochub
|
||||
label: DocHub
|
||||
url: 'https://dochub.com'
|
||||
draft2-digital:
|
||||
icons:
|
||||
- draft2digital
|
||||
label: Draft2Digital
|
||||
url: 'http://draft2digital.com'
|
||||
dyalog-apl:
|
||||
icons:
|
||||
- dyalog
|
||||
label: Dyalog APL
|
||||
url: 'http://www.dyalog.com'
|
||||
firstdraft:
|
||||
icons:
|
||||
- firstdraft
|
||||
label: firstdraft
|
||||
url: 'http://www.firstdraft.com'
|
||||
fleetplan:
|
||||
icons:
|
||||
- helicopter
|
||||
label: FLEETPLAN
|
||||
url: 'https://www.fleetplan.net'
|
||||
getaroom:
|
||||
icons:
|
||||
- archway
|
||||
- dumbbell
|
||||
- hotel
|
||||
- map-marked
|
||||
- map-marked-alt
|
||||
- monument
|
||||
- spa
|
||||
- swimmer
|
||||
- swimming-pool
|
||||
label: getaroom
|
||||
url: 'https://www.getaroom.com'
|
||||
git-kraken:
|
||||
icons:
|
||||
- gitkraken
|
||||
label: GitKraken
|
||||
url: 'https://www.gitkraken.com'
|
||||
gofore:
|
||||
icons:
|
||||
- gofore
|
||||
label: Gofore
|
||||
url: 'http://gofore.com'
|
||||
'gripfire,inc':
|
||||
icons:
|
||||
- gripfire
|
||||
label: 'Gripfire, Inc.'
|
||||
url: 'http://gripfire.io'
|
||||
harvard-medical-school:
|
||||
icons:
|
||||
- allergies
|
||||
- ambulance
|
||||
- band-aid
|
||||
- briefcase-medical
|
||||
- burn
|
||||
- capsules
|
||||
- diagnoses
|
||||
- dna
|
||||
- file-medical
|
||||
- file-medical-alt
|
||||
- first-aid
|
||||
- heart
|
||||
- heartbeat
|
||||
- hospital
|
||||
- hospital-alt
|
||||
- hospital-symbol
|
||||
- id-card-alt
|
||||
- notes-medical
|
||||
- pills
|
||||
- plus
|
||||
- prescription-bottle
|
||||
- prescription-bottle-alt
|
||||
- procedures
|
||||
- smoking
|
||||
- stethoscope
|
||||
- syringe
|
||||
- tablets
|
||||
- thermometer
|
||||
- user-md
|
||||
- vial
|
||||
- vials
|
||||
- weight
|
||||
- x-ray
|
||||
label: Harvard Medical School
|
||||
url: 'https://hms.harvard.edu'
|
||||
hips:
|
||||
icons:
|
||||
- hips
|
||||
label: Hips
|
||||
url: 'https://hips.com'
|
||||
hire-a-helper:
|
||||
icons:
|
||||
- archive
|
||||
- box-open
|
||||
- couch
|
||||
- dolly
|
||||
- people-carry
|
||||
- route
|
||||
- sign
|
||||
- suitcase
|
||||
- tape
|
||||
- truck-loading
|
||||
- truck-moving
|
||||
- wine-glass
|
||||
label: HireAHelper
|
||||
url: 'https://www.hireahelper.com'
|
||||
hornbill:
|
||||
icons:
|
||||
- hornbill
|
||||
label: Hornbill
|
||||
url: 'https://www.hornbill.com'
|
||||
hotjar:
|
||||
icons:
|
||||
- hotjar
|
||||
label: Hotjar
|
||||
url: 'https://www.hotjar.com'
|
||||
hub-spot:
|
||||
icons:
|
||||
- hubspot
|
||||
label: HubSpot
|
||||
url: 'http://www.HubSpot.com'
|
||||
in-site-systems:
|
||||
icons:
|
||||
- toolbox
|
||||
label: InSite Systems
|
||||
url: 'https://www.insitesystems.com'
|
||||
inspira-bvba:
|
||||
icons:
|
||||
- chess-knight
|
||||
label: Inspira bvba
|
||||
url: 'https://www.inspira.be'
|
||||
joe-emison:
|
||||
icons:
|
||||
- blender-phone
|
||||
label: Joe Emison
|
||||
joget:
|
||||
icons:
|
||||
- joget
|
||||
label: Joget
|
||||
url: 'http://www.joget.org'
|
||||
jon-galloway:
|
||||
icons:
|
||||
- crow
|
||||
label: Jon Galloway
|
||||
kevin-barone:
|
||||
icons:
|
||||
- file-contract
|
||||
label: Kevin Barone
|
||||
key-cdn:
|
||||
icons:
|
||||
- keycdn
|
||||
label: KeyCDN
|
||||
url: 'https://www.keycdn.com'
|
||||
korvue:
|
||||
icons:
|
||||
- korvue
|
||||
label: Korvue
|
||||
url: 'https://korvue.com'
|
||||
max-elman:
|
||||
icons:
|
||||
- frog
|
||||
label: Max Elman
|
||||
med-apps:
|
||||
icons:
|
||||
- medapps
|
||||
label: MedApps
|
||||
url: 'http://medapps.com.au'
|
||||
medapps:
|
||||
icons:
|
||||
- book-medical
|
||||
- clinic-medical
|
||||
- comment-medical
|
||||
- crutch
|
||||
- laptop-medical
|
||||
- pager
|
||||
label: MedApps
|
||||
url: 'https://medapps.com.au'
|
||||
megaport:
|
||||
icons:
|
||||
- megaport
|
||||
label: Megaport
|
||||
url: 'https://www.megaport.com'
|
||||
mix:
|
||||
icons:
|
||||
- mix
|
||||
label: Mix
|
||||
url: 'http://mix.com'
|
||||
mizuni:
|
||||
icons:
|
||||
- mizuni
|
||||
label: Mizuni
|
||||
url: 'http://www.mizuni.com'
|
||||
mrt:
|
||||
icons:
|
||||
- medrt
|
||||
label: MRT
|
||||
url: 'https://medrt.co.jp'
|
||||
mylogin-info:
|
||||
icons:
|
||||
- user-shield
|
||||
label: mylogin.info
|
||||
url: 'https://www.mylogin.info'
|
||||
napster:
|
||||
icons:
|
||||
- napster
|
||||
label: Napster
|
||||
url: 'http://www.napster.com'
|
||||
nimblr:
|
||||
icons:
|
||||
- nimblr
|
||||
label: Nimblr
|
||||
url: 'https://nimblr.ai'
|
||||
nompse:
|
||||
icons:
|
||||
- chalkboard
|
||||
- chalkboard-teacher
|
||||
label: Nomp.se
|
||||
url: 'https://nomp.se'
|
||||
ns8:
|
||||
icons:
|
||||
- ns8
|
||||
label: NS8
|
||||
url: 'https://www.ns8.com'
|
||||
nutritionix:
|
||||
icons:
|
||||
- nutritionix
|
||||
label: Nutritionix
|
||||
url: 'http://www.nutritionix.com'
|
||||
page4-corporation:
|
||||
icons:
|
||||
- page4
|
||||
label: page4 Corporation
|
||||
url: 'https://en.page4.com'
|
||||
pal-fed:
|
||||
icons:
|
||||
- palfed
|
||||
label: PalFed
|
||||
url: 'https://www.palfed.com'
|
||||
pcsg:
|
||||
icons:
|
||||
- horse-head
|
||||
label: PCSG
|
||||
url: 'https://www.pcsg.de'
|
||||
phabricator:
|
||||
icons:
|
||||
- phabricator
|
||||
label: Phabricator
|
||||
url: 'http://phacility.com'
|
||||
promo-wizard:
|
||||
icons:
|
||||
- hat-wizard
|
||||
label: Promo Wizard
|
||||
url: 'https://promowizard.co.uk'
|
||||
pulse-eight:
|
||||
icons:
|
||||
- volume-mute
|
||||
label: Pulse-Eight
|
||||
url: 'https://pulse-eight.com'
|
||||
purely-interactive:
|
||||
icons:
|
||||
- kiwi-bird
|
||||
label: Purely Interactive
|
||||
url: 'https://www.purelyinteractive.ca'
|
||||
pushed:
|
||||
icons:
|
||||
- pushed
|
||||
label: Pushed
|
||||
url: 'https://pushed.co'
|
||||
quin-scape:
|
||||
icons:
|
||||
- quinscape
|
||||
label: QuinScape
|
||||
url: 'https://www.quinscape.de'
|
||||
reacteurope:
|
||||
icons:
|
||||
- reacteurope
|
||||
label: ReactEurope
|
||||
url: 'https://www.react-europe.org'
|
||||
readme-io:
|
||||
icons:
|
||||
- readme
|
||||
label: Readme.io
|
||||
url: 'http://readme.io'
|
||||
red-river:
|
||||
icons:
|
||||
- red-river
|
||||
label: red river
|
||||
url: 'https://river.red'
|
||||
replyd:
|
||||
icons:
|
||||
- replyd
|
||||
label: replyd
|
||||
resolving:
|
||||
icons:
|
||||
- resolving
|
||||
label: Resolving
|
||||
url: 'https://resolving.com'
|
||||
rev-io:
|
||||
icons:
|
||||
- rev
|
||||
label: Rev.io
|
||||
url: 'https://rev.io'
|
||||
rock-rms:
|
||||
icons:
|
||||
- rockrms
|
||||
label: Rock RMS
|
||||
url: 'http://rockrms.com'
|
||||
rocket-chat:
|
||||
icons:
|
||||
- comment
|
||||
- comment-alt
|
||||
- comment-dots
|
||||
- comment-slash
|
||||
- comments
|
||||
- frown
|
||||
- meh
|
||||
- phone
|
||||
- phone-slash
|
||||
- poo
|
||||
- quote-left
|
||||
- quote-right
|
||||
- rocketchat
|
||||
- smile
|
||||
- video
|
||||
- video-slash
|
||||
label: Rocket.Chat
|
||||
url: 'https://rocket.chat'
|
||||
rodney-oliver:
|
||||
icons:
|
||||
- folder-minus
|
||||
- folder-plus
|
||||
label: Rodney Oliver
|
||||
schlix:
|
||||
icons:
|
||||
- schlix
|
||||
label: SCHLIX
|
||||
url: 'http://schlix.com'
|
||||
search-eng-in:
|
||||
icons:
|
||||
- searchengin
|
||||
label: SearchEng.in
|
||||
url: 'http://searcheng.in'
|
||||
service-stack:
|
||||
icons:
|
||||
- servicestack
|
||||
label: ServiceStack
|
||||
url: 'https://servicestack.net'
|
||||
shawn-storie:
|
||||
icons:
|
||||
- teeth
|
||||
- teeth-open
|
||||
label: Shawn Storie
|
||||
shopware:
|
||||
icons:
|
||||
- shopware
|
||||
label: Shopware
|
||||
url: 'https://shopware.de'
|
||||
shp:
|
||||
icons:
|
||||
- school
|
||||
label: SHP
|
||||
url: 'http://shp.com'
|
||||
silicon-barn-inc:
|
||||
icons:
|
||||
- project-diagram
|
||||
label: Silicon Barn Inc
|
||||
url: 'https://siliconbarn.com'
|
||||
sistrix:
|
||||
icons:
|
||||
- sistrix
|
||||
label: SISTRIX
|
||||
url: 'https://www.sistrix.de'
|
||||
smup:
|
||||
icons:
|
||||
- shoe-prints
|
||||
label: Smup
|
||||
url: 'https://www.atomsoftware.com.au'
|
||||
speakap:
|
||||
icons:
|
||||
- speakap
|
||||
label: Speakap
|
||||
url: 'https://speakap.com'
|
||||
stay-linked:
|
||||
icons:
|
||||
- box
|
||||
- boxes
|
||||
- clipboard-check
|
||||
- clipboard-list
|
||||
- dolly
|
||||
- dolly-flatbed
|
||||
- pallet
|
||||
- shipping-fast
|
||||
- truck
|
||||
- warehouse
|
||||
label: StayLinked
|
||||
url: 'https://www.staylinked.com'
|
||||
sticker-mule:
|
||||
icons:
|
||||
- sticker-mule
|
||||
label: Sticker Mule
|
||||
url: 'https://stickermule.com'
|
||||
studio-vinari:
|
||||
icons:
|
||||
- studiovinari
|
||||
label: Studio Vinari
|
||||
url: 'https://studiovinari.com'
|
||||
supple:
|
||||
icons:
|
||||
- ad
|
||||
- bullhorn
|
||||
- bullseye
|
||||
- comment-dollar
|
||||
- comments-dollar
|
||||
- envelope-open-text
|
||||
- funnel-dollar
|
||||
- mail-bulk
|
||||
- poll
|
||||
- poll-h
|
||||
- search-dollar
|
||||
- search-location
|
||||
- supple
|
||||
label: Supple
|
||||
url: 'https://supple.com.au'
|
||||
the-red-yeti:
|
||||
icons:
|
||||
- the-red-yeti
|
||||
label: The Red Yeti
|
||||
url: 'http://theredyeti.com'
|
||||
the-us-sunnah-foundation:
|
||||
icons:
|
||||
- dollar-sign
|
||||
- donate
|
||||
- dove
|
||||
- gift
|
||||
- globe
|
||||
- hand-holding-heart
|
||||
- hand-holding-usd
|
||||
- hands-helping
|
||||
- handshake
|
||||
- heart
|
||||
- leaf
|
||||
- parachute-box
|
||||
- piggy-bank
|
||||
- ribbon
|
||||
- seedling
|
||||
label: The us-Sunnah Foundation
|
||||
url: 'https://www.ussunnah.org'
|
||||
themeco:
|
||||
icons:
|
||||
- themeco
|
||||
label: Themeco
|
||||
url: 'https://theme.co'
|
||||
think-peaks:
|
||||
icons:
|
||||
- think-peaks
|
||||
label: Think Peaks
|
||||
url: 'https://thinkpeaks.com/'
|
||||
typo3:
|
||||
icons:
|
||||
- typo3
|
||||
label: Typo3
|
||||
url: 'https://typo3.org'
|
||||
uniregistry:
|
||||
icons:
|
||||
- uniregistry
|
||||
label: Uniregistry
|
||||
url: 'https://uniregistry.com'
|
||||
us-sunnah-foundation:
|
||||
icons:
|
||||
- ussunnah
|
||||
label: us-Sunnah Foundation
|
||||
url: 'https://www.ussunnah.org'
|
||||
vaadin:
|
||||
icons:
|
||||
- vaadin
|
||||
label: Vaadin
|
||||
url: 'http://vaadin.com'
|
||||
via:
|
||||
icons:
|
||||
- car-crash
|
||||
- draw-polygon
|
||||
- house-damage
|
||||
- layer-group
|
||||
- skull-crossbones
|
||||
- user-injured
|
||||
label: VIA Traffic Software Solutions
|
||||
url: 'https://www.via.software'
|
||||
victor-costan:
|
||||
icons:
|
||||
- otter
|
||||
label: Staphany Park and Victor Costan
|
||||
vnv:
|
||||
icons:
|
||||
- vnv
|
||||
label: VNV
|
||||
url: 'https://www.vnv.ch'
|
||||
weedable:
|
||||
icons:
|
||||
- bong
|
||||
- cannabis
|
||||
- hippo
|
||||
- joint
|
||||
- mortar-pestle
|
||||
- prescription
|
||||
label: Weedable
|
||||
url: 'https://www.weedable.com'
|
||||
whmcs:
|
||||
icons:
|
||||
- whmcs
|
||||
label: WHMCS
|
||||
url: 'https://www.whmcs.com'
|
||||
workrails:
|
||||
icons:
|
||||
- briefcase
|
||||
label: WorkRails
|
||||
url: 'https://www.workrails.com'
|
||||
wpressr:
|
||||
icons:
|
||||
- wpressr
|
||||
label: wpressr
|
||||
url: 'https://wpressr.com'
|
||||
Binary file not shown.
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 it is too large
Load Diff
|
|
@ -0,0 +1,66 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : French (Canada) [fr-ca]
|
||||
//! author : Jonathan Abourbih : https://github.com/jonbca
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('fr-ca', {
|
||||
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
|
||||
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
|
||||
monthsParseExact : true,
|
||||
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
|
||||
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
|
||||
weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'YYYY-MM-DD',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY HH:mm',
|
||||
LLLL : 'dddd D MMMM YYYY HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Aujourd’hui à] LT',
|
||||
nextDay : '[Demain à] LT',
|
||||
nextWeek : 'dddd [à] LT',
|
||||
lastDay : '[Hier à] LT',
|
||||
lastWeek : 'dddd [dernier à] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'dans %s',
|
||||
past : 'il y a %s',
|
||||
s : 'quelques secondes',
|
||||
ss : '%d secondes',
|
||||
m : 'une minute',
|
||||
mm : '%d minutes',
|
||||
h : 'une heure',
|
||||
hh : '%d heures',
|
||||
d : 'un jour',
|
||||
dd : '%d jours',
|
||||
M : 'un mois',
|
||||
MM : '%d mois',
|
||||
y : 'un an',
|
||||
yy : '%d ans'
|
||||
},
|
||||
dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
|
||||
ordinal : function (number, period) {
|
||||
switch (period) {
|
||||
// Words with masculine grammatical gender: mois, trimestre, jour
|
||||
default:
|
||||
case 'M':
|
||||
case 'Q':
|
||||
case 'D':
|
||||
case 'DDD':
|
||||
case 'd':
|
||||
return number + (number === 1 ? 'er' : 'e');
|
||||
|
||||
// Words with feminine grammatical gender: semaine
|
||||
case 'w':
|
||||
case 'W':
|
||||
return number + (number === 1 ? 're' : 'e');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue