Previous changeset 1:bca68066a957 (2020-05-20) |
Commit message:
"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/cs_overview commit a46097db0b6056e1125237393eb6974cfd51eb41" |
modified:
crossSampleOverview.xml test-data/csBoxplotData.json test-data/out.html |
added:
crossSampleOverview.py css/parallelCoordinates.css images/barssm.png js/Editor-1.5.6/css/dataTables.editor.css js/Editor-1.5.6/css/editor.bootstrap.css js/Editor-1.5.6/css/editor.bootstrap.min.css js/Editor-1.5.6/css/editor.dataTables.css js/Editor-1.5.6/css/editor.dataTables.min.css js/Editor-1.5.6/css/editor.foundation.css js/Editor-1.5.6/css/editor.foundation.min.css js/Editor-1.5.6/css/editor.jqueryui.css js/Editor-1.5.6/css/editor.jqueryui.min.css js/Editor-1.5.6/css/scss/bubble.scss js/Editor-1.5.6/css/scss/datatable.scss js/Editor-1.5.6/css/scss/datetime.scss js/Editor-1.5.6/css/scss/envelope.scss js/Editor-1.5.6/css/scss/fields.scss js/Editor-1.5.6/css/scss/inline.scss js/Editor-1.5.6/css/scss/lightbox.scss js/Editor-1.5.6/css/scss/main.scss js/Editor-1.5.6/css/scss/mixins.scss js/Editor-1.5.6/css/scss/upload.scss js/Editor-1.5.6/images/ajax-loader-small.gif js/Editor-1.5.6/images/ajax-loader.gif js/Editor-1.5.6/images/calender.png js/Editor-1.5.6/images/close.png js/Editor-1.5.6/images/shadow_left.png js/Editor-1.5.6/images/shadow_right.png js/Editor-1.5.6/js/dataTables.editor.js js/Editor-1.5.6/js/dataTables.editor.min.js js/Editor-1.5.6/js/editor.bootstrap.js js/Editor-1.5.6/js/editor.bootstrap.min.js js/Editor-1.5.6/js/editor.foundation.js js/Editor-1.5.6/js/editor.foundation.min.js js/Editor-1.5.6/js/editor.jqueryui.js js/Editor-1.5.6/js/editor.jqueryui.min.js js/boxplots.js js/color_palette.js js/crossSamplePlots.js js/csOverview.js js/pCoordCSstats.js js/pCoordMFIstats.js templates/csOverview.template |
b |
diff -r bca68066a957 -r a64ece32a01a crossSampleOverview.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crossSampleOverview.py Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,212 @@ +#!/usr/bin/env python + +###################################################################### +# Copyright (c) 2016 Northrop Grumman. +# All rights reserved. +###################################################################### + +# version 1.1 -- August 2017 +# added checks for consistency between input files +# and upper limit on nb of cluster to look at + +from __future__ import print_function +import sys +import os +import logging +import fileinput +import pandas as pd +from argparse import ArgumentParser +from jinja2 import Environment, FileSystemLoader +from shutil import copyfile +from collections import defaultdict + + +def check_pops(mfi_file, stat1): + df = pd.read_table(mfi_file) + df1 = pd.read_table(stat1) + nb_pop = len(set(df.Population)) + nb_pop1 = len(df1.columns) - 2 + if (nb_pop > 40): + sys.stderr.write("There are " + str(nb_pop) + " in the input file.") + sys.exit(1) + if (nb_pop != nb_pop1): + sys.exit(2) + + +def panel_to_json_string(df): + # from http://stackoverflow.com/questions/28078118/merge-many-json-strings-with-python-pandas-inputs + def __merge_stream(key, stream): + return '"' + key + '"' + ': ' + stream + ', ' + try: + if 'Unnamed: 0' in df.columns: + df = df.drop(['Unnamed: 0'], axis=1) + stream = '{' + for index, subdf in df.groupby(level=0): + stream += __merge_stream(index, df.loc[index, :, :].droplevel(0).to_json()) + # take out extra last comma + stream = stream[:-2] + # add the final paren + stream += '}' + except: + logging.exception('Panel Encoding did not work') + return stream + + +def get_outliers(group, upper, lower): + cat = group.name + out = {} + for marker in group: + # skip population since upper and lower don't contain it, since it was made after a group by Population + if marker != 'Population': + out[marker] = group[(group[marker] > upper.loc[cat][marker]) | (group[marker] < lower.loc[cat][marker])][marker] + return out + + +def get_boxplot_stats(all_data, mfi_file, output_json): + # modified code from http://bokeh.pydata.org/en/latest/docs/gallery/boxplot.html + # Get initial MFI values + mfi = pd.read_table(mfi_file) + mfi = mfi.set_index('Population') + + df = pd.read_table(all_data) + # check if ever some pops not in cs_files + missing_pop = [x for x in mfi.index if x not in set(df.Population)] + + if (missing_pop): + zeros = {} + for m in df.columns: + zeros[m] = [0 for x in missing_pop] + tmpdf = pd.DataFrame(zeros) + tmpdf.Population = missing_pop + df = df.append(tmpdf) + + pops = df.groupby('Population') + q1 = pops.quantile(q=0.25) + q2 = pops.quantile(q=0.5) + q3 = pops.quantile(q=0.75) + iqr = q3 - q1 + upper = q3 + 1.5*iqr + lower = q1 - 1.5*iqr + resampled = False + # get outliers + out = pops.apply(get_outliers, upper, lower).dropna() + outliers = defaultdict(dict) + for population in set(df.Population): + for marker in df.columns: + if marker != 'Population': + tmp_outliers = list(out[population][marker]) + if (len(list(out[population][marker])) > 100): + tmp_outliers = list(out[population][marker].sample(n=100)) + resampled = True + outliers[population][marker] = tmp_outliers + outdf = pd.DataFrame(outliers) + + data = pd.concat({'q1': q1, + 'q2': q2, + 'q3': q3, + 'upper': upper, + 'lower': lower, + 'outliers': outdf.T, + 'mfi': mfi}, keys=['q1','q2','q3','upper','lower','outliers','mfi']) + + with open(output_json, "w") as js_all: + js_all.write(panel_to_json_string(data)) + + return resampled + + +def cs_overview(input_file, input_mfi, init_mfi, output_file, output_dir, tools_dir, cs_files): + os.mkdir(output_dir) + + env = Environment(loader=FileSystemLoader(tools_dir + "/templates")) + template = env.get_template("csOverview.template") + + real_directory = output_dir.replace("/job_working_directory", "") + context = {'outputDirectory': real_directory} + overview = template.render(**context) + with open(output_file, "w") as outf: + outf.write(overview) + + cs_overview_file = output_dir + "/csOverview.tsv" + copyfile(input_file, cs_overview_file) + + cs_overview_mfis = output_dir + "/csAllMFIs.tsv" + copyfile(input_mfi, cs_overview_mfis) + + # Get all the data to calculate quantiles, IRC and outliers. + tmp_all_data = "csAllData.tsv" + with open(tmp_all_data, "a") as alldata: + # assumes that the files have ran through flock and CS and therefore have the same headers + df1 = pd.read_table(cs_files[0]) + df1.to_csv(alldata, sep="\t", header=True, index=False) + for i in range(1, len(cs_files)): + df = pd.read_table(cs_files[i]) + df.to_csv(alldata, sep="\t", header=False, index=False) + + cs_boxplot_data = output_dir + "/csBoxplotData.json" + resampled = get_boxplot_stats(tmp_all_data, init_mfi, cs_boxplot_data) + if resampled: + to_find = '<div id="outlierWarning" style="display:none;">' + to_replace = '<div id="outlierWarning">' + ## yay python 2.7 + ro = fileinput.input(output_file, inplace=True, backup=".bak") + for roline in ro: + print(roline.replace(to_find, to_replace), end='') + ro.close() + + return + + +if __name__ == "__main__": + parser = ArgumentParser( + prog="csOverview", + description="Generate an overview plot of crossSample results.") + + parser.add_argument( + '-i', + dest="input_file", + required=True, + help="File location for the summary statistics from CrossSample.") + + parser.add_argument( + '-I', + dest="input_mfi", + required=True, + help="File location for the MFI summary statistics from CrossSample.") + + parser.add_argument( + '-s', + dest="cs_outputs", + required=True, + action='append', + help="File location for the CrossSample output files.") + + parser.add_argument( + '-o', + dest="output_file", + required=True, + help="File location for the HTML output file.") + + parser.add_argument( + '-m', + dest="mfi", + required=True, + help="File location for the MFI from FLOCK.") + + parser.add_argument( + '-d', + dest="output_directory", + required=True, + help="Directory location for the html supporting files.") + + parser.add_argument( + '-t', + dest="tool_directory", + required=True, + help="Location of the Tool Directory.") + + args = parser.parse_args() + + cs_files = [f for f in args.cs_outputs] + check_pops(args.mfi, args.input_file) + cs_overview(args.input_file, args.input_mfi, args.mfi, args.output_file, args.output_directory, args.tool_directory, cs_files) |
b |
diff -r bca68066a957 -r a64ece32a01a crossSampleOverview.xml --- a/crossSampleOverview.xml Wed May 20 16:04:43 2020 -0400 +++ b/crossSampleOverview.xml Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -1,25 +1,23 @@ -<tool id="cross_sample_overview" name="Generate overview information" version="1.1+galaxy0"> +<tool id="cross_sample_overview" name="Generate overview information" version="1.1+galaxy1"> <description>of a multi-sample analysis.</description> <requirements> - <requirement type="package" version="2.0.2">ig-flowtools</requirement> + <requirement type="package" version="1.0.5">pandas</requirement> + <requirement type="package" version="2.11.2">jinja2</requirement> </requirements> <stdio> <exit_code range="1" level="fatal" description="There are too many populations in the input files. The maximum number of populations is 40." /> <exit_code range="2" level="fatal" description="There are populations inconsistencies between provided inputs." /> + <exit_code range="3:"/> </stdio> <command><![CDATA[ - mkdir templates && - mkdir -p static/flowtools && - mkdir -p static/images/flowtools && - export FLOWTOOL='which crossSampleOverview.py' && - FLOWTOOLDIR=\$(dirname $FLOWTOOL) && - cp $FLOWTOOLDIR/../share/templates/* templates/ && - cp -r $FLOWTOOLDIR/../share/static/flowtools/* static/flowtools/ && - cp $FLOWTOOLDIR/../share/static/images/flowtools/* static/images/flowtools/ && - crossSampleOverview.py -i '${input}' -I '${inputmfi}' -o '${html_file}' -m '${mfi}' -d '${html_file.files_path}' -t 'templates/' + python '$__tool_directory__/crossSampleOverview.py' -i '${input}' -I '${inputmfi}' -o '${html_file}' -m '${mfi}' -d '${html_file.files_path}' -t '$__tool_directory__' #for $f in $cs_outputs -s $f #end for + ; + cp -r '$__tool_directory__'/js '${html_file.files_path}/'; + cp -r '$__tool_directory__'/css '${html_file.files_path}/'; + cp -r '$__tool_directory__'/images '${html_file.files_path}/'; ]]> </command> <inputs> @@ -47,7 +45,7 @@ <output name="html_file" file="out.html" compare="sim_size"> <extra_files type="file" name="csAllMFIs.tsv" value="csAllMFIs.tsv"/> <extra_files type="file" name="csOverview.tsv" value="csOverview.tsv"/> - <extra_files type="file" name="csBoxplotData.json" value="csBoxplotData.json" compare="contains"/> + <extra_files type="file" name="csBoxplotData.json" value="csBoxplotData.json" compare="sim_size"/> </output> </test> </tests> |
b |
diff -r bca68066a957 -r a64ece32a01a css/parallelCoordinates.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/css/parallelCoordinates.css Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,170 @@ +/*Chart*/ +.chartDiv { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 10px; + margin-right: 10px; + background-color: #ffffff; +} +/*This for stacked / bar plot*/ +.optionButtons{ + padding-bottom: 8px; +} +.igbtn { + border-radius: 4px; + color: white; + background-color: #0E3163; + border:1px; + font-size: 14px; + font-weight: bold; + border-color: #0E3163; + padding: 6px 12px; + background: -webkit-linear-gradient(#0E3163, #3e6db0); + background: -o-linear-gradient(#0E3163, #3e6db0); + background: -moz-linear-gradient(#0E3163, #3e6db0); + background: linear-gradient(#0E3163, #3e6db0); +} + #togglePlot { + display: block; + margin-left: auto; + margin-right: auto; + height: 60px; + width: 90px; + padding: 4px 8px 8px 4px; +} +/*DataTables config*/ +div.dt-buttons { + float: right; +} +th { + background-color:#3965A4; + color:#fff; + border-radius: 2px; + padding:6px 12px; + font-size:14px; + text-align: center; +} +.igtable th { + background: -webkit-linear-gradient(#0E3163, #3e6db0); + background: -o-linear-gradient(#0E3163, #3e6db0); + background: -moz-linear-gradient(#0E3163, #3e6db0); + background: linear-gradient(#0E3163, #3e6db0) +} +body td { + max-width: 50px; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; +} +.pctable td { + max-width: 100px; +} +.dtable td { + max-width: 50px; + word-break: break-all; + word-wrap: break-word; +} +.popt thead { + display:none; +} +.popt td { + max-width: 40px; + word-break: break-all; + word-wrap: break-word; +} +div.dataTables_wrapper { + width: 95%; + margin: 0 auto; +} +/*Opacity widget*/ +.widget { + margin-top: 4px; + padding: 4px 4px 8px 4px; + margin-bottom: 10px + height: 36px; + line-height: 12px; + font-size: 12px; + text-align: center; + // float: right; +} +/*This section for coordinates plot*/ +.table th { + text-align: center; + padding: 10px; +} +.table { + width:100%; + border:0px solid; + border-collapse:collapse; + text-align:center; + font-size: 14px; +} +svg { + font: 10px sans-serif; +} +.background path { + fill: none; + stroke: #F0F0F0; + shape-rendering: crispEdges; +} +.foreground path { + fill: none; + stroke-opacity: .8; +} +.brush .extent { + fill-opacity: .3; + stroke: #fff; + shape-rendering: crispEdges; +} +.axis line, +.axis path { + fill: none; + stroke: #000; + stroke-width: 2; + shape-rendering: crispEdges; +} +.axis text { + text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff; +} +.xlabel { + font-size: 14px; + fill: #808080; +} +.ylabel { + font-size: 16px; + fill: #808080; +} +/*This section for boxplots*/ +.box { + font: 10px sans-serif; +} +.box line, +.box rect, +.box circle { + fill: red; + stroke: #000; + stroke-width: 1px; +} +.box .center { + stroke-dasharray: 3,3; +} +.box .outlier { + fill: none; + stroke: #000; +} +.axisbp path, +.axisbp line { + stroke-width: 1px; + fill: +} +.y.axisbp path { + stroke-width: 2; + stroke: #000; + fill: none; +} +.x.axisbp path { + fill: none; + stroke: #C8C8C8; + stroke-width: 0px; + shape-rendering: crispEdges; +} |
b |
diff -r bca68066a957 -r a64ece32a01a images/barssm.png |
b |
Binary file images/barssm.png has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.bootstrap.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.bootstrap.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,590 @@\n+div.DTE div.DTE_Form_Error {\n+ display: none;\n+ color: #b11f1f;\n+}\n+\n+div.DTE_Field div.multi-value,\n+div.DTE_Field div.multi-restore {\n+ display: none;\n+ cursor: pointer;\n+}\n+div.DTE_Field div.multi-value span,\n+div.DTE_Field div.multi-restore span {\n+ display: block;\n+ color: #666;\n+}\n+div.DTE_Field div.multi-value:hover,\n+div.DTE_Field div.multi-restore:hover {\n+ background-color: #f1f1f1;\n+}\n+div.DTE_Field div.multi-restore {\n+ margin-top: 0.5em;\n+ font-size: 0.8em;\n+ line-height: 1.25em;\n+}\n+div.DTE_Field:after {\n+ display: block;\n+ content: ".";\n+ height: 0;\n+ line-height: 0;\n+ clear: both;\n+ visibility: hidden;\n+}\n+\n+div.DTE_Inline {\n+ position: relative;\n+ display: table;\n+ width: 100%;\n+}\n+div.DTE_Inline div.DTE_Inline_Field,\n+div.DTE_Inline div.DTE_Inline_Buttons {\n+ display: table-cell;\n+ vertical-align: middle;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field {\n+ padding: 0;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label {\n+ display: none;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input {\n+ width: 100%;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button {\n+ margin: -6px 0 -6px 4px;\n+ padding: 5px;\n+}\n+div.DTE_Inline div.DTE_Field input[type="color"],\n+div.DTE_Inline div.DTE_Field input[type="date"],\n+div.DTE_Inline div.DTE_Field input[type="datetime"],\n+div.DTE_Inline div.DTE_Field input[type="datetime-local"],\n+div.DTE_Inline div.DTE_Field input[type="email"],\n+div.DTE_Inline div.DTE_Field input[type="month"],\n+div.DTE_Inline div.DTE_Field input[type="number"],\n+div.DTE_Inline div.DTE_Field input[type="password"],\n+div.DTE_Inline div.DTE_Field input[type="search"],\n+div.DTE_Inline div.DTE_Field input[type="tel"],\n+div.DTE_Inline div.DTE_Field input[type="text"],\n+div.DTE_Inline div.DTE_Field input[type="time"],\n+div.DTE_Inline div.DTE_Field input[type="url"],\n+div.DTE_Inline div.DTE_Field input[type="week"] {\n+ margin: -6px 0;\n+}\n+div.DTE_Inline.DTE_Processing:after {\n+ position: absolute;\n+ content: \' \';\n+ display: block;\n+ top: 4px;\n+ right: 10px;\n+ height: 12px;\n+ width: 17px;\n+ background: url("../images/ajax-loader-small.gif") no-repeat top left;\n+}\n+\n+span.dtr-data div.DTE_Inline {\n+ display: inline-table;\n+}\n+\n+div.DTE_Inline div.DTE_Field {\n+ width: 100%;\n+}\n+div.DTE_Inline div.DTE_Field > div {\n+ width: 100%;\n+ padding: 0;\n+}\n+div.DTE_Inline div.DTE_Field input.form-control {\n+ height: 30px;\n+}\n+div.DTE_Inline div.DTE_Field div.help-block {\n+ display: none;\n+}\n+div.DTE_Inline.DTE_Processing:after {\n+ top: 5px;\n+}\n+\n+div.DTE_Field_Type_checkbox div.controls,\n+div.DTE_Field_Type_radio div.controls {\n+ margin-top: 0.4em;\n+}\n+div.DTE_Field_Type_checkbox div.controls label,\n+div.DTE_Field_Type_radio div.controls label {\n+ margin-left: 0.75em;\n+ margin-bottom: 0;\n+ vertical-align: middle;\n+ font-weight: normal;\n+}\n+\n+div.DTE_Bubble {\n+ position: absolute;\n+ z-index: 11;\n+ margin-top: -6px;\n+ opacity: 0;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner {\n+ position: absolute;\n+ bottom: 0;\n+ border: 1px solid black;\n+ width: 300px;\n+ margin-left: -150px;\n+ background-color: white;\n+ box-shadow: 2px 2px 7px #555;\n+ border-radius: 5px;\n+ border: 2px solid #444;\n+ padding: 1em;\n+ -webkit-box-sizing: border-box;\n+ -moz-box-sizing: border-box;\n+ box-sizing: border-box;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table {\n+ display: table;\n+ width: 100%;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form {\n+ display: table-cell;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content {\n+ padding: 0;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table > form div.DTE_Form_Content div.DTE_'..b'editor-datetime table td.day.today {\n+ background-color: #ddd;\n+}\n+div.editor-datetime table td.day.today button {\n+ font-weight: bold;\n+}\n+div.editor-datetime table td.day.selected button {\n+ background: #337ab7;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.day button:hover {\n+ background: #ff8000;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.editor-datetime-week {\n+ font-size: 0.7em;\n+}\n+div.editor-datetime table button {\n+ width: 100%;\n+ box-sizing: border-box;\n+ border: none;\n+ background: transparent;\n+ font-size: inherit;\n+ color: inherit;\n+ text-align: inherit;\n+ padding: 5px 9px;\n+ cursor: pointer;\n+ margin: 0;\n+}\n+div.editor-datetime table.weekNumber th {\n+ width: 12.5%;\n+}\n+div.editor-datetime div.editor-datetime-label {\n+ position: relative;\n+ display: inline-block;\n+ height: 30px;\n+ padding: 5px 6px;\n+ border: 1px solid transparent;\n+ box-sizing: border-box;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-label:hover {\n+ border: 1px solid #ddd;\n+ border-radius: 2px;\n+ background-color: #f5f5f5;\n+}\n+div.editor-datetime div.editor-datetime-label select {\n+ position: absolute;\n+ top: 6px;\n+ left: 0;\n+ cursor: pointer;\n+ opacity: 0;\n+ -ms-filter: "alpha(opacity=0)";\n+}\n+div.editor-datetime div.editor-datetime-time {\n+ text-align: center;\n+}\n+div.editor-datetime div.editor-datetime-time > span {\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock {\n+ display: inline-block;\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft,\n+div.editor-datetime div.editor-datetime-iconRight,\n+div.editor-datetime div.editor-datetime-iconUp,\n+div.editor-datetime div.editor-datetime-iconDown {\n+ width: 30px;\n+ height: 30px;\n+ background-position: center;\n+ background-repeat: no-repeat;\n+ opacity: 0.3;\n+ overflow: hidden;\n+ box-sizing: border-box;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft:hover,\n+div.editor-datetime div.editor-datetime-iconRight:hover,\n+div.editor-datetime div.editor-datetime-iconUp:hover,\n+div.editor-datetime div.editor-datetime-iconDown:hover {\n+ border: 1px solid #ccc;\n+ border-radius: 2px;\n+ background-color: #f0f0f0;\n+ opacity: 0.6;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft button,\n+div.editor-datetime div.editor-datetime-iconRight button,\n+div.editor-datetime div.editor-datetime-iconUp button,\n+div.editor-datetime div.editor-datetime-iconDown button {\n+ border: none;\n+ background: transparent;\n+ text-indent: 30px;\n+ height: 100%;\n+ width: 100%;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft {\n+ position: absolute;\n+ top: 5px;\n+ left: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");\n+}\n+div.editor-datetime div.editor-datetime-iconRight {\n+ position: absolute;\n+ top: 5px;\n+ right: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconUp {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconDown {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC");\n+}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.bootstrap.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.bootstrap.min.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,1 @@\n+div.DTE div.DTE_Form_Error{display:none;color:#b11f1f}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#f1f1f1}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline.DTE_Processing:after{position:absolute;content:\' \';display:block;top:4px;right:10px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE_Inline div.DTE_Field{width:100%}div.DTE_Inline div.DTE_Field>div{width:100%;padding:0}div.DTE_Inline div.DTE_Field input.form-control{height:30px}div.DTE_Inline div.DTE_Field div.help-block{display:none}div.DTE_Inline.DTE_Processing:after{top:5px}div.DTE_Field_Type_checkbox div.controls,div.DTE_Field_Type_radio div.controls{margin-top:0.4em}div.DTE_Field_Type_checkbox div.controls label,div.DTE_Field_Type_radio div.controls label{margin-left:0.75em;margin-bottom:0;vertical-align:middle;font-weight:normal}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:bottom;padding:0 0 0 0.75em;width:1%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header{border-top-left-radius:5px;border-top-right-radius:5px}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Form_Info,div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Header+div.DTE_Bubble_Table{pad'..b'div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#337ab7;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.dataTables.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.dataTables.css Tue Jul 28 08:32:36 2020 -0400 |
b |
b'@@ -0,0 +1,1266 @@\n+div.DTE {\n+ position: relative;\n+}\n+div.DTE div.DTE_Processing_Indicator {\n+ position: absolute;\n+ top: 10px;\n+ right: 13px;\n+ height: 32px;\n+ width: 32px;\n+ background: url("../images/ajax-loader.gif") no-repeat top left;\n+ display: none;\n+ z-index: 20;\n+}\n+div.DTE div.DTE_Header {\n+ position: absolute;\n+ top: 0;\n+ left: 0;\n+ height: 50px;\n+ width: 100%;\n+ background-color: #f3f3f3;\n+ border-bottom: 1px solid #ddd;\n+ padding: 16px 10px 2px 16px;\n+ font-size: 1.3em;\n+ -webkit-box-sizing: border-box;\n+ -moz-box-sizing: border-box;\n+ box-sizing: border-box;\n+}\n+div.DTE div.DTE_Footer {\n+ position: absolute;\n+ bottom: 0;\n+ left: 0;\n+ height: 50px;\n+ width: 100%;\n+ background-color: #f3f3f3;\n+ border-top: 1px solid #ddd;\n+ padding: 10px;\n+ -webkit-box-sizing: border-box;\n+ -moz-box-sizing: border-box;\n+ box-sizing: border-box;\n+}\n+div.DTE div.DTE_Form_Info {\n+ margin-bottom: 0.5em;\n+ display: none;\n+}\n+div.DTE div.DTE_Form_Content {\n+ position: relative;\n+ padding: 10px;\n+}\n+div.DTE div.DTE_Form_Error {\n+ float: left;\n+ padding: 5px;\n+ display: none;\n+ color: #b11f1f;\n+}\n+div.DTE button.btn,\n+div.DTE div.DTE_Form_Buttons button {\n+ position: relative;\n+ text-align: center;\n+ display: block;\n+ margin-top: 0;\n+ padding: 5px 15px;\n+ cursor: pointer;\n+ float: right;\n+ margin-left: 0.75em;\n+ font-size: 14px;\n+ text-shadow: 0 1px 0 white;\n+ border: 1px solid #999;\n+ -webkit-border-radius: 4px;\n+ -moz-border-radius: 4px;\n+ -ms-border-radius: 4px;\n+ -o-border-radius: 4px;\n+ border-radius: 4px;\n+ -webkit-box-shadow: 1px 1px 3px #ccc;\n+ -moz-box-shadow: 1px 1px 3px #ccc;\n+ box-shadow: 1px 1px 3px #ccc;\n+ background-color: #f9f9f9 100%;\n+ /* Fallback */\n+ background-image: -webkit-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%);\n+ /* Chrome 10+, Saf5.1+, iOS 5+ */\n+ background-image: -moz-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%);\n+ /* FF3.6 */\n+ background-image: -ms-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%);\n+ /* IE10 */\n+ background-image: -o-linear-gradient(top, #ffffff 0%, #eee 65%, #f9f9f9 100%);\n+ /* Opera 11.10+ */\n+ background-image: linear-gradient(to bottom, #ffffff 0%, #eee 65%, #f9f9f9 100%);\n+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=\'#ffffff\', EndColorStr=\'#f9f9f9\');\n+}\n+div.DTE button.btn:hover,\n+div.DTE div.DTE_Form_Buttons button:hover {\n+ border: 1px solid #666;\n+ -webkit-box-shadow: 1px 1px 3px #999;\n+ -moz-box-shadow: 1px 1px 3px #999;\n+ box-shadow: 1px 1px 3px #999;\n+ background-color: #f4f4f4 100%;\n+ /* Fallback */\n+ background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);\n+ /* Chrome 10+, Saf5.1+, iOS 5+ */\n+ background-image: -moz-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);\n+ /* FF3.6 */\n+ background-image: -ms-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);\n+ /* IE10 */\n+ background-image: -o-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);\n+ /* Opera 11.10+ */\n+ background-image: linear-gradient(to bottom, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);\n+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=\'#f3f3f3\', EndColorStr=\'#f4f4f4\');\n+}\n+div.DTE button.btn:active,\n+div.DTE div.DTE_Form_Buttons button:active {\n+ -webkit-box-shadow: inset 1px 1px 3px #999;\n+ -moz-box-shadow: inset 1px 1px 3px #999;\n+ box-shadow: inset 1px 1px 3px #999;\n+}\n+div.DTE button.btn:focus,\n+div.DTE div.DTE_Form_Buttons button:focus {\n+ border: 1px solid #426c9e;\n+ text-shadow: 0 1px 0 #c4def1;\n+ background-color: #a3d0ef 100%;\n+ /* Fallback */\n+ background-image: -webkit-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);\n+ /* Chrome 10+, Saf5.1+, iOS 5+ */\n+ background-image: -moz-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);\n+ /* FF3.6 */\n+ background-image: -ms-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);\n+ '..b'editor-datetime table td.day.today {\n+ background-color: #ddd;\n+}\n+div.editor-datetime table td.day.today button {\n+ font-weight: bold;\n+}\n+div.editor-datetime table td.day.selected button {\n+ background: #4E6CA3;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.day button:hover {\n+ background: #ff8000;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.editor-datetime-week {\n+ font-size: 0.7em;\n+}\n+div.editor-datetime table button {\n+ width: 100%;\n+ box-sizing: border-box;\n+ border: none;\n+ background: transparent;\n+ font-size: inherit;\n+ color: inherit;\n+ text-align: inherit;\n+ padding: 5px 9px;\n+ cursor: pointer;\n+ margin: 0;\n+}\n+div.editor-datetime table.weekNumber th {\n+ width: 12.5%;\n+}\n+div.editor-datetime div.editor-datetime-label {\n+ position: relative;\n+ display: inline-block;\n+ height: 30px;\n+ padding: 5px 6px;\n+ border: 1px solid transparent;\n+ box-sizing: border-box;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-label:hover {\n+ border: 1px solid #ddd;\n+ border-radius: 2px;\n+ background-color: #f5f5f5;\n+}\n+div.editor-datetime div.editor-datetime-label select {\n+ position: absolute;\n+ top: 6px;\n+ left: 0;\n+ cursor: pointer;\n+ opacity: 0;\n+ -ms-filter: "alpha(opacity=0)";\n+}\n+div.editor-datetime div.editor-datetime-time {\n+ text-align: center;\n+}\n+div.editor-datetime div.editor-datetime-time > span {\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock {\n+ display: inline-block;\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft,\n+div.editor-datetime div.editor-datetime-iconRight,\n+div.editor-datetime div.editor-datetime-iconUp,\n+div.editor-datetime div.editor-datetime-iconDown {\n+ width: 30px;\n+ height: 30px;\n+ background-position: center;\n+ background-repeat: no-repeat;\n+ opacity: 0.3;\n+ overflow: hidden;\n+ box-sizing: border-box;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft:hover,\n+div.editor-datetime div.editor-datetime-iconRight:hover,\n+div.editor-datetime div.editor-datetime-iconUp:hover,\n+div.editor-datetime div.editor-datetime-iconDown:hover {\n+ border: 1px solid #ccc;\n+ border-radius: 2px;\n+ background-color: #f0f0f0;\n+ opacity: 0.6;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft button,\n+div.editor-datetime div.editor-datetime-iconRight button,\n+div.editor-datetime div.editor-datetime-iconUp button,\n+div.editor-datetime div.editor-datetime-iconDown button {\n+ border: none;\n+ background: transparent;\n+ text-indent: 30px;\n+ height: 100%;\n+ width: 100%;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft {\n+ position: absolute;\n+ top: 5px;\n+ left: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");\n+}\n+div.editor-datetime div.editor-datetime-iconRight {\n+ position: absolute;\n+ top: 5px;\n+ right: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconUp {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconDown {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC");\n+}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.dataTables.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.dataTables.min.css Tue Jul 28 08:32:36 2020 -0400 |
b |
b'@@ -0,0 +1,1 @@\n+div.DTE{position:relative}div.DTE div.DTE_Processing_Indicator{position:absolute;top:10px;right:13px;height:32px;width:32px;background:url("../images/ajax-loader.gif") no-repeat top left;display:none;z-index:20}div.DTE div.DTE_Header{position:absolute;top:0;left:0;height:50px;width:100%;background-color:#f3f3f3;border-bottom:1px solid #ddd;padding:16px 10px 2px 16px;font-size:1.3em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE div.DTE_Footer{position:absolute;bottom:0;left:0;height:50px;width:100%;background-color:#f3f3f3;border-top:1px solid #ddd;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE div.DTE_Form_Info{margin-bottom:0.5em;display:none}div.DTE div.DTE_Form_Content{position:relative;padding:10px}div.DTE div.DTE_Form_Error{float:left;padding:5px;display:none;color:#b11f1f}div.DTE button.btn,div.DTE div.DTE_Form_Buttons button{position:relative;text-align:center;display:block;margin-top:0;padding:5px 15px;cursor:pointer;float:right;margin-left:0.75em;font-size:14px;text-shadow:0 1px 0 white;border:1px solid #999;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:1px 1px 3px #ccc;-moz-box-shadow:1px 1px 3px #ccc;box-shadow:1px 1px 3px #ccc;background-color:#f9f9f9 100%;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #eee 65%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #eee 65%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=\'#ffffff\', EndColorStr=\'#f9f9f9\')}div.DTE button.btn:hover,div.DTE div.DTE_Form_Buttons button:hover{border:1px solid #666;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999;background-color:#f4f4f4 100%;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #dbdbdb 65%, #f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=\'#f3f3f3\', EndColorStr=\'#f4f4f4\')}div.DTE button.btn:active,div.DTE div.DTE_Form_Buttons button:active{-webkit-box-shadow:inset 1px 1px 3px #999;-moz-box-shadow:inset 1px 1px 3px #999;box-shadow:inset 1px 1px 3px #999}div.DTE button.btn:focus,div.DTE div.DTE_Form_Buttons button:focus{border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;background-color:#a3d0ef 100%;background-image:-webkit-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-moz-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-ms-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:-o-linear-gradient(top, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);background-image:linear-gradient(to bottom, #a3d0ef 0%, #79ace9 65%, #a3d0ef 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=\'#a3d0ef\', EndColorStr=\'#a3d0ef\');outline:none}div.DTE button.btn:focus:after,div.DTE div.DTE_Form_Buttons button:focus:after{position:absolute;top:0;left:0;right:0;bottom:0;background:white;display:block;content:" ";-webkit-animation-duration:1s;-webkit-animation-name:buttonPulse;-webkit-animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-webkit-animation-direction:alternate;-moz-animation-duration:1s;-moz-animation-name:buttonPulse;-moz-animation-fill-mode:forwards;-moz-animation-iteration-c'..b'div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#4E6CA3;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.foundation.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.foundation.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,612 @@\n+div.DTE div.DTE_Form_Error {\n+ display: none;\n+ color: #b11f1f;\n+}\n+\n+div.DTE_Field div.multi-value,\n+div.DTE_Field div.multi-restore {\n+ display: none;\n+ cursor: pointer;\n+ padding: 0.75rem;\n+}\n+div.DTE_Field div.multi-value span,\n+div.DTE_Field div.multi-restore span {\n+ display: block;\n+ color: #666;\n+ font-size: 0.8em;\n+ line-height: 1.25em;\n+}\n+div.DTE_Field div.multi-value:hover,\n+div.DTE_Field div.multi-restore:hover {\n+ background-color: #e5e5e5;\n+}\n+div.DTE_Field div.multi-restore {\n+ margin-top: 0.5em;\n+ font-size: 0.8em;\n+ line-height: 1.25em;\n+ padding: 0.5rem 0.75rem;\n+}\n+div.DTE_Field div.label {\n+ margin-top: 0.5rem;\n+ margin-bottom: 0.5rem;\n+}\n+div.DTE_Field div.label:empty {\n+ padding: 0;\n+ margin: 0;\n+}\n+div.DTE_Field:after {\n+ display: block;\n+ content: ".";\n+ height: 0;\n+ line-height: 0;\n+ clear: both;\n+ visibility: hidden;\n+}\n+\n+div.reveal-modal button.close {\n+ position: absolute;\n+ top: -1.5em;\n+ right: -2.5em;\n+}\n+div.reveal-modal button.close.close-button {\n+ right: 1rem;\n+ top: .5rem;\n+ z-index: 100;\n+}\n+div.reveal-modal div.DTE_Header {\n+ position: relative;\n+ top: -0.5em;\n+ font-size: 2.05556rem;\n+ line-height: 1.4;\n+}\n+div.reveal-modal div.DTE_Form_Content {\n+ width: 75%;\n+ margin: 0 auto;\n+}\n+div.reveal-modal div.DTE_Footer {\n+ position: relative;\n+ bottom: -0.5em;\n+ float: right;\n+}\n+div.reveal-modal div.DTE_Footer button {\n+ margin-bottom: 0;\n+}\n+\n+div.DTE_Inline {\n+ position: relative;\n+ display: table;\n+ width: 100%;\n+}\n+div.DTE_Inline div.DTE_Inline_Field,\n+div.DTE_Inline div.DTE_Inline_Buttons {\n+ display: table-cell;\n+ vertical-align: middle;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field {\n+ padding: 0;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field > label,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field > label {\n+ display: none;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input {\n+ width: 100%;\n+}\n+div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,\n+div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button {\n+ margin: -6px 0 -6px 4px;\n+ padding: 5px;\n+}\n+div.DTE_Inline div.DTE_Field input[type="color"],\n+div.DTE_Inline div.DTE_Field input[type="date"],\n+div.DTE_Inline div.DTE_Field input[type="datetime"],\n+div.DTE_Inline div.DTE_Field input[type="datetime-local"],\n+div.DTE_Inline div.DTE_Field input[type="email"],\n+div.DTE_Inline div.DTE_Field input[type="month"],\n+div.DTE_Inline div.DTE_Field input[type="number"],\n+div.DTE_Inline div.DTE_Field input[type="password"],\n+div.DTE_Inline div.DTE_Field input[type="search"],\n+div.DTE_Inline div.DTE_Field input[type="tel"],\n+div.DTE_Inline div.DTE_Field input[type="text"],\n+div.DTE_Inline div.DTE_Field input[type="time"],\n+div.DTE_Inline div.DTE_Field input[type="url"],\n+div.DTE_Inline div.DTE_Field input[type="week"] {\n+ margin: -6px 0;\n+}\n+div.DTE_Inline.DTE_Processing:after {\n+ position: absolute;\n+ content: \' \';\n+ display: block;\n+ top: 4px;\n+ right: 10px;\n+ height: 12px;\n+ width: 17px;\n+ background: url("../images/ajax-loader-small.gif") no-repeat top left;\n+}\n+\n+span.dtr-data div.DTE_Inline {\n+ display: inline-table;\n+}\n+\n+div.DTE_Inline div.DTE_Field > div {\n+ width: 100%;\n+ padding: 0;\n+}\n+div.DTE_Inline div.DTE_Field input {\n+ height: 30px;\n+ margin-bottom: 0;\n+}\n+div.DTE_Inline div.DTE_Field div.label:empty {\n+ display: none;\n+}\n+\n+div.DTE_Bubble {\n+ position: absolute;\n+ z-index: 11;\n+ margin-top: -6px;\n+ opacity: 0;\n+}\n+div.DTE_Bubble div.DTE_Bubble_Liner {\n+ position: absolute;\n+ bottom: 0;\n+ border: 1px solid black;\n+ width: 300px;\n+ margin-left: -150px;\n+ background-color: white;\n+ box-shadow: 2px 2px 7px #555;\n+ border-radius: 5px;\n+ border: 2px solid #444;\n+ padding: 1em;\n+ -webkit-box-sizing: border-box;\n+ -moz-box-sizing: border-box;\n+ box-sizing: border-box;\n+}\n'..b'editor-datetime table td.day.today {\n+ background-color: #ddd;\n+}\n+div.editor-datetime table td.day.today button {\n+ font-weight: bold;\n+}\n+div.editor-datetime table td.day.selected button {\n+ background: #008CBA;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.day button:hover {\n+ background: #ff8000;\n+ color: white;\n+ border-radius: 2px;\n+}\n+div.editor-datetime table td.editor-datetime-week {\n+ font-size: 0.7em;\n+}\n+div.editor-datetime table button {\n+ width: 100%;\n+ box-sizing: border-box;\n+ border: none;\n+ background: transparent;\n+ font-size: inherit;\n+ color: inherit;\n+ text-align: inherit;\n+ padding: 5px 9px;\n+ cursor: pointer;\n+ margin: 0;\n+}\n+div.editor-datetime table.weekNumber th {\n+ width: 12.5%;\n+}\n+div.editor-datetime div.editor-datetime-label {\n+ position: relative;\n+ display: inline-block;\n+ height: 30px;\n+ padding: 5px 6px;\n+ border: 1px solid transparent;\n+ box-sizing: border-box;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-label:hover {\n+ border: 1px solid #ddd;\n+ border-radius: 2px;\n+ background-color: #f5f5f5;\n+}\n+div.editor-datetime div.editor-datetime-label select {\n+ position: absolute;\n+ top: 6px;\n+ left: 0;\n+ cursor: pointer;\n+ opacity: 0;\n+ -ms-filter: "alpha(opacity=0)";\n+}\n+div.editor-datetime div.editor-datetime-time {\n+ text-align: center;\n+}\n+div.editor-datetime div.editor-datetime-time > span {\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock {\n+ display: inline-block;\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft,\n+div.editor-datetime div.editor-datetime-iconRight,\n+div.editor-datetime div.editor-datetime-iconUp,\n+div.editor-datetime div.editor-datetime-iconDown {\n+ width: 30px;\n+ height: 30px;\n+ background-position: center;\n+ background-repeat: no-repeat;\n+ opacity: 0.3;\n+ overflow: hidden;\n+ box-sizing: border-box;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft:hover,\n+div.editor-datetime div.editor-datetime-iconRight:hover,\n+div.editor-datetime div.editor-datetime-iconUp:hover,\n+div.editor-datetime div.editor-datetime-iconDown:hover {\n+ border: 1px solid #ccc;\n+ border-radius: 2px;\n+ background-color: #f0f0f0;\n+ opacity: 0.6;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft button,\n+div.editor-datetime div.editor-datetime-iconRight button,\n+div.editor-datetime div.editor-datetime-iconUp button,\n+div.editor-datetime div.editor-datetime-iconDown button {\n+ border: none;\n+ background: transparent;\n+ text-indent: 30px;\n+ height: 100%;\n+ width: 100%;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft {\n+ position: absolute;\n+ top: 5px;\n+ left: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");\n+}\n+div.editor-datetime div.editor-datetime-iconRight {\n+ position: absolute;\n+ top: 5px;\n+ right: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconUp {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconDown {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC");\n+}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.foundation.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.foundation.min.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,1 @@\n+div.DTE div.DTE_Form_Error{display:none;color:#b11f1f}div.DTE_Field div.multi-value,div.DTE_Field div.multi-restore{display:none;cursor:pointer;padding:0.75rem}div.DTE_Field div.multi-value span,div.DTE_Field div.multi-restore span{display:block;color:#666;font-size:0.8em;line-height:1.25em}div.DTE_Field div.multi-value:hover,div.DTE_Field div.multi-restore:hover{background-color:#e5e5e5}div.DTE_Field div.multi-restore{margin-top:0.5em;font-size:0.8em;line-height:1.25em;padding:0.5rem 0.75rem}div.DTE_Field div.label{margin-top:0.5rem;margin-bottom:0.5rem}div.DTE_Field div.label:empty{padding:0;margin:0}div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.reveal-modal button.close{position:absolute;top:-1.5em;right:-2.5em}div.reveal-modal button.close.close-button{right:1rem;top:.5rem;z-index:100}div.reveal-modal div.DTE_Header{position:relative;top:-0.5em;font-size:2.05556rem;line-height:1.4}div.reveal-modal div.DTE_Form_Content{width:75%;margin:0 auto}div.reveal-modal div.DTE_Footer{position:relative;bottom:-0.5em;float:right}div.reveal-modal div.DTE_Footer button{margin-bottom:0}div.DTE_Inline{position:relative;display:table;width:100%}div.DTE_Inline div.DTE_Inline_Field,div.DTE_Inline div.DTE_Inline_Buttons{display:table-cell;vertical-align:middle}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field{padding:0}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field>label,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field>label{display:none}div.DTE_Inline div.DTE_Inline_Field div.DTE_Field input,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Field input{width:100%}div.DTE_Inline div.DTE_Inline_Field div.DTE_Form_Buttons button,div.DTE_Inline div.DTE_Inline_Buttons div.DTE_Form_Buttons button{margin:-6px 0 -6px 4px;padding:5px}div.DTE_Inline div.DTE_Field input[type="color"],div.DTE_Inline div.DTE_Field input[type="date"],div.DTE_Inline div.DTE_Field input[type="datetime"],div.DTE_Inline div.DTE_Field input[type="datetime-local"],div.DTE_Inline div.DTE_Field input[type="email"],div.DTE_Inline div.DTE_Field input[type="month"],div.DTE_Inline div.DTE_Field input[type="number"],div.DTE_Inline div.DTE_Field input[type="password"],div.DTE_Inline div.DTE_Field input[type="search"],div.DTE_Inline div.DTE_Field input[type="tel"],div.DTE_Inline div.DTE_Field input[type="text"],div.DTE_Inline div.DTE_Field input[type="time"],div.DTE_Inline div.DTE_Field input[type="url"],div.DTE_Inline div.DTE_Field input[type="week"]{margin:-6px 0}div.DTE_Inline.DTE_Processing:after{position:absolute;content:\' \';display:block;top:4px;right:10px;height:12px;width:17px;background:url("../images/ajax-loader-small.gif") no-repeat top left}span.dtr-data div.DTE_Inline{display:inline-table}div.DTE_Inline div.DTE_Field>div{width:100%;padding:0}div.DTE_Inline div.DTE_Field input{height:30px;margin-bottom:0}div.DTE_Inline div.DTE_Field div.label:empty{display:none}div.DTE_Bubble{position:absolute;z-index:11;margin-top:-6px;opacity:0}div.DTE_Bubble div.DTE_Bubble_Liner{position:absolute;bottom:0;border:1px solid black;width:300px;margin-left:-150px;background-color:white;box-shadow:2px 2px 7px #555;border-radius:5px;border:2px solid #444;padding:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table{display:table;width:100%}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form{display:table-cell}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content{padding:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field{position:relative;zoom:1;margin-bottom:0.5em}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table>form div.DTE_Form_Content div.DTE_Field:last-child{margin-bottom:0}div.DTE_Bubble div.DTE_Bubble_Liner div.DTE_Bubble_Table div.DTE_Form_Buttons{display:table-cell;vertical-align:botto'..b'div.editor-datetime div.editor-datetime-title{text-align:center;padding:5px 0px 3px}div.editor-datetime table{border-spacing:0;margin:6px 13px}div.editor-datetime table th{font-size:0.8em;color:#777;font-weight:normal;width:14.285714286%;padding:0 0 4px 0;text-align:center}div.editor-datetime table td{font-size:0.9em;color:#444;padding:0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#008CBA;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.jqueryui.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.jqueryui.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,801 @@\n+div.DTE_Field input,\n+div.DTE_Field textarea {\n+ box-sizing: border-box;\n+ background-color: white;\n+ -webkit-transition: background-color ease-in-out .15s;\n+ transition: background-color ease-in-out .15s;\n+}\n+div.DTE_Field input:focus,\n+div.DTE_Field textarea:focus {\n+ background-color: #ffffee;\n+}\n+div.DTE_Field input[type="color"],\n+div.DTE_Field input[type="date"],\n+div.DTE_Field input[type="datetime"],\n+div.DTE_Field input[type="datetime-local"],\n+div.DTE_Field input[type="email"],\n+div.DTE_Field input[type="month"],\n+div.DTE_Field input[type="number"],\n+div.DTE_Field input[type="password"],\n+div.DTE_Field input[type="search"],\n+div.DTE_Field input[type="tel"],\n+div.DTE_Field input[type="text"],\n+div.DTE_Field input[type="time"],\n+div.DTE_Field input[type="url"],\n+div.DTE_Field input[type="week"] {\n+ padding: 6px 4px;\n+ width: 100%;\n+}\n+div.DTE_Field div.DTE_Field_Info,\n+div.DTE_Field div.DTE_Field_Message {\n+ font-size: 11px;\n+ line-height: 1em;\n+}\n+div.DTE_Field div.DTE_Field_Error {\n+ font-size: 11px;\n+ line-height: 1em;\n+ display: none;\n+ color: red;\n+ margin-top: 5px;\n+}\n+div.DTE_Field div.multi-value {\n+ display: none;\n+ border: 1px dotted #666;\n+ border-radius: 3px;\n+ padding: 5px;\n+ background-color: #fafafa;\n+ cursor: pointer;\n+}\n+div.DTE_Field div.multi-value span {\n+ font-size: 0.8em;\n+ line-height: 1.25em;\n+ display: block;\n+ color: #666;\n+}\n+div.DTE_Field div.multi-value:hover {\n+ background-color: #f1f1f1;\n+}\n+div.DTE_Field div.multi-restore {\n+ display: none;\n+ margin-top: 0.5em;\n+ font-size: 0.8em;\n+ line-height: 1.25em;\n+ color: #3879d9;\n+}\n+div.DTE_Field div.multi-restore:hover {\n+ text-decoration: underline;\n+ cursor: pointer;\n+}\n+\n+div.DTE_Field_Type_textarea textarea {\n+ padding: 3px;\n+ width: 100%;\n+ height: 80px;\n+}\n+\n+div.DTE_Field.DTE_Field_Type_date img {\n+ vertical-align: middle;\n+ cursor: pointer;\n+ *cursor: hand;\n+}\n+div.DTE_Field.DTE_Field_Type_date input.jqueryui {\n+ width: 87%;\n+ margin-right: 6px;\n+}\n+\n+div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div,\n+div.DTE_Field_Type_radio div.DTE_Field_Input > div > div {\n+ margin-bottom: 0.25em;\n+}\n+div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div:last-child,\n+div.DTE_Field_Type_radio div.DTE_Field_Input > div > div:last-child {\n+ margin-bottom: 0;\n+}\n+div.DTE_Field_Type_checkbox div.DTE_Field_Input > div > div label,\n+div.DTE_Field_Type_radio div.DTE_Field_Input > div > div label {\n+ margin-left: 0.75em;\n+ vertical-align: middle;\n+}\n+\n+div.DTE_Field_Type_select div.DTE_Field_Input {\n+ padding-top: 4px;\n+}\n+\n+div.DTE_Body {\n+ padding: 50px 0;\n+}\n+div.DTE_Body div.DTE_Body_Content {\n+ position: relative;\n+ overflow: auto;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info {\n+ padding: 1em 1em 0 1em;\n+ margin: 0;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field {\n+ position: relative;\n+ zoom: 1;\n+ clear: both;\n+ padding: 5px 20%;\n+ border: 1px solid transparent;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field:after {\n+ display: block;\n+ content: ".";\n+ height: 0;\n+ line-height: 0;\n+ clear: both;\n+ visibility: hidden;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover {\n+ background-color: #f9f9f9;\n+ border: 1px solid #f3f3f3;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field > label {\n+ float: left;\n+ width: 40%;\n+ padding-top: 6px;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field > div.DTE_Field_Input {\n+ float: right;\n+ width: 60%;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field.full {\n+ padding: 5px 0 5px 20%;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > label {\n+ width: 30%;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field.full > div.DTE_Field_Input {\n+ width: 70%;\n+}\n+div.DTE_Body div.DTE_Body_Content div.DTE_Field.block > div.DTE_Field_Input {\n+ float: none;\n+ clear: both;\n+ width: 100%;\n+}\n+\n+html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field > label {\n+ float: right;\n+}\n+'..b' font-size: 0.7em;\n+}\n+div.editor-datetime table button {\n+ width: 100%;\n+ box-sizing: border-box;\n+ border: none;\n+ background: transparent;\n+ font-size: inherit;\n+ color: inherit;\n+ text-align: inherit;\n+ padding: 5px 9px;\n+ cursor: pointer;\n+ margin: 0;\n+}\n+div.editor-datetime table.weekNumber th {\n+ width: 12.5%;\n+}\n+div.editor-datetime div.editor-datetime-label {\n+ position: relative;\n+ display: inline-block;\n+ height: 30px;\n+ padding: 5px 6px;\n+ border: 1px solid transparent;\n+ box-sizing: border-box;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-label:hover {\n+ border: 1px solid #ddd;\n+ border-radius: 2px;\n+ background-color: #f5f5f5;\n+}\n+div.editor-datetime div.editor-datetime-label select {\n+ position: absolute;\n+ top: 6px;\n+ left: 0;\n+ cursor: pointer;\n+ opacity: 0;\n+ -ms-filter: "alpha(opacity=0)";\n+}\n+div.editor-datetime div.editor-datetime-time {\n+ text-align: center;\n+}\n+div.editor-datetime div.editor-datetime-time > span {\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock {\n+ display: inline-block;\n+ vertical-align: middle;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft,\n+div.editor-datetime div.editor-datetime-iconRight,\n+div.editor-datetime div.editor-datetime-iconUp,\n+div.editor-datetime div.editor-datetime-iconDown {\n+ width: 30px;\n+ height: 30px;\n+ background-position: center;\n+ background-repeat: no-repeat;\n+ opacity: 0.3;\n+ overflow: hidden;\n+ box-sizing: border-box;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft:hover,\n+div.editor-datetime div.editor-datetime-iconRight:hover,\n+div.editor-datetime div.editor-datetime-iconUp:hover,\n+div.editor-datetime div.editor-datetime-iconDown:hover {\n+ border: 1px solid #ccc;\n+ border-radius: 2px;\n+ background-color: #f0f0f0;\n+ opacity: 0.6;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft button,\n+div.editor-datetime div.editor-datetime-iconRight button,\n+div.editor-datetime div.editor-datetime-iconUp button,\n+div.editor-datetime div.editor-datetime-iconDown button {\n+ border: none;\n+ background: transparent;\n+ text-indent: 30px;\n+ height: 100%;\n+ width: 100%;\n+ cursor: pointer;\n+}\n+div.editor-datetime div.editor-datetime-iconLeft {\n+ position: absolute;\n+ top: 5px;\n+ left: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");\n+}\n+div.editor-datetime div.editor-datetime-iconRight {\n+ position: absolute;\n+ top: 5px;\n+ right: 5px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconUp {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=");\n+}\n+div.editor-datetime div.editor-datetime-iconDown {\n+ height: 20px;\n+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC");\n+}\n+\n+div.DTE {\n+ font-size: 0.91em;\n+}\n+div.DTE div.DTE_Header {\n+ display: none;\n+}\n+div.DTE div.DTE_Body {\n+ padding: 0;\n+}\n+div.DTE div.DTE_Body div.DTE_Body_Content {\n+ overflow: hidden;\n+}\n+div.DTE div.DTE_Body div.DTE_Body_Content div.DTE_Field {\n+ padding: 5px 5%;\n+}\n+div.DTE div.DTE_Footer {\n+ display: none;\n+}\n+div.DTE div.DTE_Form_Error {\n+ padding-top: 1em;\n+ color: red;\n+ display: none;\n+ color: #b11f1f;\n+}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/editor.jqueryui.min.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/editor.jqueryui.min.css Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,1 @@\n+div.DTE_Field input,div.DTE_Field textarea{box-sizing:border-box;background-color:white;-webkit-transition:background-color ease-in-out .15s;transition:background-color ease-in-out .15s}div.DTE_Field input:focus,div.DTE_Field textarea:focus{background-color:#ffffee}div.DTE_Field input[type="color"],div.DTE_Field input[type="date"],div.DTE_Field input[type="datetime"],div.DTE_Field input[type="datetime-local"],div.DTE_Field input[type="email"],div.DTE_Field input[type="month"],div.DTE_Field input[type="number"],div.DTE_Field input[type="password"],div.DTE_Field input[type="search"],div.DTE_Field input[type="tel"],div.DTE_Field input[type="text"],div.DTE_Field input[type="time"],div.DTE_Field input[type="url"],div.DTE_Field input[type="week"]{padding:6px 4px;width:100%}div.DTE_Field div.DTE_Field_Info,div.DTE_Field div.DTE_Field_Message{font-size:11px;line-height:1em}div.DTE_Field div.DTE_Field_Error{font-size:11px;line-height:1em;display:none;color:red;margin-top:5px}div.DTE_Field div.multi-value{display:none;border:1px dotted #666;border-radius:3px;padding:5px;background-color:#fafafa;cursor:pointer}div.DTE_Field div.multi-value span{font-size:0.8em;line-height:1.25em;display:block;color:#666}div.DTE_Field div.multi-value:hover{background-color:#f1f1f1}div.DTE_Field div.multi-restore{display:none;margin-top:0.5em;font-size:0.8em;line-height:1.25em;color:#3879d9}div.DTE_Field div.multi-restore:hover{text-decoration:underline;cursor:pointer}div.DTE_Field_Type_textarea textarea{padding:3px;width:100%;height:80px}div.DTE_Field.DTE_Field_Type_date img{vertical-align:middle;cursor:pointer;*cursor:hand}div.DTE_Field.DTE_Field_Type_date input.jqueryui{width:87%;margin-right:6px}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div{margin-bottom:0.25em}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div:last-child,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div:last-child{margin-bottom:0}div.DTE_Field_Type_checkbox div.DTE_Field_Input>div>div label,div.DTE_Field_Type_radio div.DTE_Field_Input>div>div label{margin-left:0.75em;vertical-align:middle}div.DTE_Field_Type_select div.DTE_Field_Input{padding-top:4px}div.DTE_Body{padding:50px 0}div.DTE_Body div.DTE_Body_Content{position:relative;overflow:auto}div.DTE_Body div.DTE_Body_Content div.DTE_Form_Info{padding:1em 1em 0 1em;margin:0}div.DTE_Body div.DTE_Body_Content div.DTE_Field{position:relative;zoom:1;clear:both;padding:5px 20%;border:1px solid transparent}div.DTE_Body div.DTE_Body_Content div.DTE_Field:after{display:block;content:".";height:0;line-height:0;clear:both;visibility:hidden}div.DTE_Body div.DTE_Body_Content div.DTE_Field:hover{background-color:#f9f9f9;border:1px solid #f3f3f3}div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:left;width:40%;padding-top:6px}div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:right;width:60%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 20%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:30%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:70%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{float:none;clear:both;width:100%}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>label{float:right}html[dir="rtl"] div.DTE_Body div.DTE_Body_Content div.DTE_Field>div.DTE_Field_Input{float:left}html[dir="rtl"] div.DTE div.DTE_Form_Buttons button{float:left}@media only screen and (max-width: 768px){div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full{padding:5px 0 5px 10%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>label{width:35.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.full>div.DTE_Field_Input{width:64.5%}div.DTE_Body div.DTE_Body_Content div.DTE_Field.block>div.DTE_Field_Input{width:100%}}@media only screen and (max-width: 640px){div.DTE_Body div.DTE'..b':0}div.editor-datetime table td.day{text-align:right;background:#f5f5f5}div.editor-datetime table td.day.disabled{color:#aaa;background:white}div.editor-datetime table td.day.today{background-color:#ddd}div.editor-datetime table td.day.today button{font-weight:bold}div.editor-datetime table td.day.selected button{background:#4E6CA3;color:white;border-radius:2px}div.editor-datetime table td.day button:hover{background:#ff8000;color:white;border-radius:2px}div.editor-datetime table td.editor-datetime-week{font-size:0.7em}div.editor-datetime table button{width:100%;box-sizing:border-box;border:none;background:transparent;font-size:inherit;color:inherit;text-align:inherit;padding:5px 9px;cursor:pointer;margin:0}div.editor-datetime table.weekNumber th{width:12.5%}div.editor-datetime div.editor-datetime-label{position:relative;display:inline-block;height:30px;padding:5px 6px;border:1px solid transparent;box-sizing:border-box;cursor:pointer}div.editor-datetime div.editor-datetime-label:hover{border:1px solid #ddd;border-radius:2px;background-color:#f5f5f5}div.editor-datetime div.editor-datetime-label select{position:absolute;top:6px;left:0;cursor:pointer;opacity:0;-ms-filter:"alpha(opacity=0)"}div.editor-datetime div.editor-datetime-time{text-align:center}div.editor-datetime div.editor-datetime-time>span{vertical-align:middle}div.editor-datetime div.editor-datetime-time div.editor-datetime-timeblock{display:inline-block;vertical-align:middle}div.editor-datetime div.editor-datetime-iconLeft,div.editor-datetime div.editor-datetime-iconRight,div.editor-datetime div.editor-datetime-iconUp,div.editor-datetime div.editor-datetime-iconDown{width:30px;height:30px;background-position:center;background-repeat:no-repeat;opacity:0.3;overflow:hidden;box-sizing:border-box}div.editor-datetime div.editor-datetime-iconLeft:hover,div.editor-datetime div.editor-datetime-iconRight:hover,div.editor-datetime div.editor-datetime-iconUp:hover,div.editor-datetime div.editor-datetime-iconDown:hover{border:1px solid #ccc;border-radius:2px;background-color:#f0f0f0;opacity:0.6}div.editor-datetime div.editor-datetime-iconLeft button,div.editor-datetime div.editor-datetime-iconRight button,div.editor-datetime div.editor-datetime-iconUp button,div.editor-datetime div.editor-datetime-iconDown button{border:none;background:transparent;text-indent:30px;height:100%;width:100%;cursor:pointer}div.editor-datetime div.editor-datetime-iconLeft{position:absolute;top:5px;left:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==")}div.editor-datetime div.editor-datetime-iconRight{position:absolute;top:5px;right:5px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconUp{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII=")}div.editor-datetime div.editor-datetime-iconDown{height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC")}div.DTE{font-size:0.91em}div.DTE div.DTE_Header{display:none}div.DTE div.DTE_Body{padding:0}div.DTE div.DTE_Body div.DTE_Body_Content{overflow:hidden}div.DTE div.DTE_Body div.DTE_Body_Content div.DTE_Field{padding:5px 5%}div.DTE div.DTE_Footer{display:none}div.DTE div.DTE_Form_Error{padding-top:1em;color:red;display:none;color:#b11f1f}\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/bubble.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/bubble.scss Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,130 @@ + +// Bubble form editing +// Very similar to the main form, but attached to a particular node and the +// form layout is slightly different with the fields container and buttons +// making up a table of a single row and two columns. This allows the buttons +// to be removed from the display and under this condition the fields will +// take up the full width available. +div.DTE_Bubble { + position: absolute; + z-index: 11; + margin-top: -6px; + opacity: 0; + + div.DTE_Bubble_Liner { + position: absolute; + bottom: 0; + border: 1px solid black; + width: 300px; + margin-left: -150px; + background-color: white; + box-shadow: 2px 2px 7px #555; + border-radius: 5px; + border: 2px solid #444; + padding: 1em; + @include box-sizing(border-box); + + div.DTE_Bubble_Table { + display: table; + width: 100%; + + > form { + display: table-cell; + + div.DTE_Form_Content { + padding: 0; + + div.DTE_Field { + position: relative; + zoom: 1; + margin-bottom: 0.5em; + + &:last-child { + margin-bottom: 0; + } + } + } + } + + div.DTE_Form_Buttons { + display: table-cell; + vertical-align: bottom; + padding: 0 0 0 0.75em; + width: 1%; // browser will resize to a min width + } + } + + div.DTE_Header { + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + + div.DTE_Header + div.DTE_Form_Info, + div.DTE_Header + div.DTE_Bubble_Table { + padding-top: 42px; + } + + + div.DTE_Form_Error { + float: none; + display: none; + padding: 0; + margin-bottom: 0.5em; + } + + div.DTE_Bubble_Close { + @include close-icon(); + } + } + + div.DTE_Bubble_Triangle { + position: absolute; + height: 10px; + width: 10px; + top: -6px; + background-color: white; + border: 2px solid #444; + border-top: none; + border-right: none; + + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + &.DTE_Processing { + div.DTE_Bubble_Liner:after { + position: absolute; + content: ' '; + display: block; + top: 12px; + right: 18px; + height: 12px; + width: 17px; + background: url('../images/ajax-loader-small.gif') no-repeat top left; + } + } + + &.below { + div.DTE_Bubble_Liner { + top: 10px; + bottom: auto; + } + + div.DTE_Bubble_Triangle { + top: 4px; + -webkit-transform: rotate(135deg); + -moz-transform: rotate(135deg); + -ms-transform: rotate(135deg); + -o-transform: rotate(135deg); + transform: rotate(135deg); + } + } +} + +div.DTE_Bubble_Background { + @include overlay-background(); +} + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/datatable.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/datatable.scss Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,93 @@ + +// Row highlighting on edit styles +// +// To change the colour of the highlight, simply modify the variable below and +// recompile the SCSS stylesheet (if you don't have SASS installed, you can use +// the online service at http://sassmeister.com/ . +// +// The DataTables styles below match the default DataTables stylesheet: +// http://next.datatables.net/manual/styling/classes so you can retain the full +// benefits of the DataTables styling options. + +$table-row-highlight: #FFFBCC; + +table.dataTable { + tbody { + tr.highlight { + background-color: $table-row-highlight !important; + } + + tr.highlight, + tr.noHighlight, + tr.highlight td, + tr.noHighlight td { + @include background-transision(); + } + } + + &.stripe tbody, + &.display tbody { + tr.odd { + &.highlight { + background-color: shade($table-row-highlight, 2.35%); + } + } + } + + // Hover classes - add "hover" class to the table to activate + &.hover tbody, + &.display tbody { + tr:hover, + tr.odd:hover, + tr.even:hover { + &.highlight { + background-color: shade($table-row-highlight, 3.6%); + } + } + } + + + // Sort column highlighting - add "hover" class to the table to activate + &.order-column, + &.display { + tbody { + tr.highlight>.sorting_1, + tr.highlight>.sorting_2, + tr.highlight>.sorting_3 { + background-color: shade($table-row-highlight, 2%); + } + } + } + + &.display tbody, + &.order-column.stripe tbody { + tr.odd { + &.highlight { + >.sorting_1 { background-color: shade($table-row-highlight, 5.4%);} + >.sorting_2 { background-color: shade($table-row-highlight, 4.7%);} + >.sorting_3 { background-color: shade($table-row-highlight, 3.9%);} + } + } + + tr.even { + &.highlight { + >.sorting_1 { background-color: shade($table-row-highlight, 2%); } + >.sorting_2 { background-color: shade($table-row-highlight, 1.2%); } + >.sorting_3 { background-color: shade($table-row-highlight, 0.4%); } + } + } + } + + &.display tbody, + &.order-column.hover tbody { + tr:hover, + tr.odd:hover, + tr.even:hover { + &.highlight { + >.sorting_1 { background-color: shade($table-row-highlight, 8.2%); } + >.sorting_2 { background-color: shade($table-row-highlight, 7.5%); } + >.sorting_3 { background-color: shade($table-row-highlight, 6.3%); } + } + } + } +} \ No newline at end of file |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/datetime.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/datetime.scss Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,184 @@ + +$editor-datetime-selected: #4E6CA3 !default; + +div.editor-datetime { + position: absolute; + background-color: white; + z-index: 2050; + border: 1px solid #ccc; + box-shadow: 0 5px 15px -5px rgba(0,0,0,.5); + padding-bottom: 5px; + + div.editor-datetime-title { + text-align: center; + padding: 5px 0px 3px; + } + + table { + border-spacing: 0; + margin: 6px 13px; + + th { + font-size: 0.8em; + color: #777; + font-weight: normal; + width: 14.285714286%; + padding: 0 0 4px 0; + text-align: center; + } + + td { + font-size: 0.9em; + color: #444; + padding: 0; + } + + td.day { + text-align: right; + background: #f5f5f5; + + &.disabled { + color: #aaa; + background: white; + } + + &.today { + background-color: #ddd; + + button { + font-weight: bold; + } + } + + &.selected button { + background: $editor-datetime-selected; + color: white; + border-radius: 2px; + } + + button:hover { + background: #ff8000; + color: white; + border-radius: 2px; + } + } + + td.editor-datetime-week { + font-size: 0.7em; + } + + button { + width: 100%; + box-sizing: border-box; + border: none; + background: transparent; + font-size: inherit; + color: inherit; + text-align: inherit; + padding: 5px 9px; + cursor: pointer; + margin: 0; + } + + &.weekNumber th { + width: 12.5%; + } + } + + div.editor-datetime-label { + position: relative; + display: inline-block; + height: 30px; + padding: 5px 6px; + border: 1px solid transparent; + box-sizing: border-box; + cursor: pointer; + + &:hover { + border: 1px solid #ddd; + border-radius: 2px; + background-color: #f5f5f5; + } + + span { + + } + + select { + position: absolute; + top: 6px; + left: 0; + cursor: pointer; + opacity: 0; + -ms-filter: "alpha(opacity=0)"; + } + } + + div.editor-datetime-time { + text-align: center; + + > span { + vertical-align: middle; + } + + div.editor-datetime-timeblock { + display: inline-block; + vertical-align: middle; + } + } + + + div.editor-datetime-iconLeft, + div.editor-datetime-iconRight, + div.editor-datetime-iconUp, + div.editor-datetime-iconDown { + width: 30px; + height: 30px; + background-position: center; + background-repeat: no-repeat; + opacity: 0.3; + overflow: hidden; + box-sizing: border-box; + + &:hover { + border: 1px solid #ccc; + border-radius: 2px; + background-color: #f0f0f0; + opacity: 0.6; + } + + button { + border: none; + background: transparent; + text-indent: 30px; + height: 100%; + width: 100%; + cursor: pointer; + } + } + + div.editor-datetime-iconLeft { + position: absolute; + top: 5px; + left: 5px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=='); + } + + div.editor-datetime-iconRight { + position: absolute; + top: 5px; + right: 5px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII='); + } + + div.editor-datetime-iconUp { + height: 20px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAL0lEQVR4AWOgJmBhxCvLyopHnpmVjY2VCadeoCxIHrcsWJ4RlyxCHlMWCTBRJxwAjrIBDMWSiM0AAAAASUVORK5CYII='); + } + + div.editor-datetime-iconDown { + height: 20px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAALCAMAAABf9c24AAAAFVBMVEX///99fX1+fn57e3t6enoAAAAAAAC73bqPAAAABnRSTlMAYmJkZt92bnysAAAAMElEQVR4AWOgDmBiRQIsmPKMrGxQgJDFlEfIYpoPk8Utz8qM232MYFfhkQfKUg8AANefAQxecJ58AAAAAElFTkSuQmCC'); + } +} + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/envelope.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/envelope.scss Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,102 @@ + +/* + * Namespace: DTED - DataTables Editor Display - Envelope + */ + +div.DTED_Envelope_Wrapper { + position: absolute; + top: 0; + bottom: 0; + left: 50%; + height: 100%; + z-index: 11; + display: none; + overflow: hidden; + + // Create a shadow display at the top of the evelope to make it look like it has + // come from under the element that it is attached to/ Left and right to give a + // slight fade and the two ends + div.DTED_Envelope_ShadowLeft { + position: absolute; + top: 0; + left: 0; + width: 50%; + height: 9px; + background: url('../images/shadow_left.png') no-repeat top left; + z-index: 10; + } + + div.DTED_Envelope_ShadowRight { + position: absolute; + top: 0; + right: 0; + width: 50%; + height: 9px; + background: url('../images/shadow_right.png') no-repeat top right; + z-index: 10; + } + + + div.DTED_Envelope_Container { + position: absolute; + top: 0; + left: 5%; + width: 90%; + + border-left: 1px solid #777; + border-right: 1px solid #777; + border-bottom: 1px solid #777; + box-shadow: 3px 3px 10px #555; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-color: white; + + div.DTE_Processing_Indicator { + right: 36px; + } + + div.DTE_Footer { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } + + div.DTED_Envelope_Close { + position: absolute; + top: 16px; + right: 10px; + width: 18px; + height: 18px; + cursor: pointer; + *cursor: hand; + z-index: 12; + text-align: center; + font-size: 12px; + + background: #F8F8F8; + background: -webkit-gradient(linear, center bottom, center top, from(#CCC), to(white)); + background: -moz-linear-gradient(top, white, #CCC); + background: linear-gradient(to bottom, white, #CCC); + text-shadow: 0 1px 0 white; + border: 1px solid #999; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + box-shadow: 0px 0px 1px #999; + -moz-box-shadow: 0px 0px 1px #999; + -webkit-box-shadow: 0px 0px 1px #999; + } + } +} + + +div.DTED_Envelope_Background { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 10; + @include radial-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.4) ); +} + + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/fields.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/fields.scss Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,128 @@ + + +// Generic field styling +div.DTE_Field { + input, + textarea { + box-sizing: border-box; + background-color: white; + -webkit-transition: background-color ease-in-out .15s; + transition: background-color ease-in-out .15s; + } + + input:focus, + textarea:focus { + background-color: #ffffee; + } + + input[type="color"], + input[type="date"], + input[type="datetime"], + input[type="datetime-local"], + input[type="email"], + input[type="month"], + input[type="number"], + input[type="password"], + input[type="search"], + input[type="tel"], + input[type="text"], + input[type="time"], + input[type="url"], + input[type="week"] { + padding: 6px 4px; + width: 100%; + } + + + div.DTE_Field_Info, + div.DTE_Field_Message { + font-size: 11px; + line-height: 1em; + } + + div.DTE_Field_Error { + font-size: 11px; + line-height: 1em; + display: none; + color: red; + margin-top: 5px; + } + + div.multi-value { + display: none; + border: 1px dotted #666; + border-radius: 3px; + padding: 5px; + background-color: #fafafa; + cursor: pointer; + + span { + font-size: 0.8em; + line-height: 1.25em; + display: block; + color: #666; + } + + &:hover { + background-color: #f1f1f1; + } + } + + div.multi-restore { + display: none; + margin-top: 0.5em; + font-size: 0.8em; + line-height: 1.25em; + color: #3879d9; + + &:hover { + text-decoration: underline; + cursor: pointer; + } + } +} + +// Specific field type styling +div.DTE_Field_Type_textarea { + textarea { + padding: 3px; + width: 100%; + height: 80px; + } +} + +div.DTE_Field.DTE_Field_Type_date { + img { + vertical-align: middle; + cursor: pointer; + *cursor: hand; + } + + input.jqueryui { + width: 87%; + margin-right: 6px; + } +} + +div.DTE_Field_Type_checkbox, +div.DTE_Field_Type_radio { + div.DTE_Field_Input > div > div { + margin-bottom: 0.25em; + + &:last-child { + margin-bottom: 0; + } + + input { + } + + label { + margin-left: 0.75em; + vertical-align: middle; + } + } +} + +div.DTE_Field_Type_select div.DTE_Field_Input { + padding-top: 4px; +} |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/inline.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/inline.scss Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,65 @@ + +// Inline form editing +// Hide the label and allow the field to take the full width +div.DTE_Inline { + position: relative; + display: table; + width: 100%; + + div.DTE_Inline_Field, + div.DTE_Inline_Buttons { + display: table-cell; + vertical-align: middle; + + div.DTE_Field { + padding: 0; + + >label { + display: none; + } + + input { + width: 100%; + } + } + + div.DTE_Form_Buttons button { + margin: -6px 0 -6px 4px; + padding: 5px; + } + } + + // Have the input types take up full space, taking into account the cell padding + div.DTE_Field input[type="color"], + div.DTE_Field input[type="date"], + div.DTE_Field input[type="datetime"], + div.DTE_Field input[type="datetime-local"], + div.DTE_Field input[type="email"], + div.DTE_Field input[type="month"], + div.DTE_Field input[type="number"], + div.DTE_Field input[type="password"], + div.DTE_Field input[type="search"], + div.DTE_Field input[type="tel"], + div.DTE_Field input[type="text"], + div.DTE_Field input[type="time"], + div.DTE_Field input[type="url"], + div.DTE_Field input[type="week"] { + margin: -6px 0; + } + + &.DTE_Processing:after { + position: absolute; + content: ' '; + display: block; + top: 4px; + right: 10px; + height: 12px; + width: 17px; + background: url('../images/ajax-loader-small.gif') no-repeat top left; + } +} + +// Responsive integration +span.dtr-data div.DTE_Inline { + display: inline-table; +} \ No newline at end of file |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/lightbox.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/lightbox.scss Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -0,0 +1,147 @@ + + +div.DTED_Lightbox_Wrapper { + position: fixed; + top: 0; + left: 50%; + margin-left: -390px; + width: 780px; + height: 100%; + z-index: 11; + + div.DTED_Lightbox_Container { + *position: absolute; /* IE6 */ + *top: 50%; + #position: absolute; /* IE7 */ + #top: 50%; + display: table; + height: 100%; + width: 100%; + + div.DTED_Lightbox_Content_Wrapper { + *position: relative; /* IE6 */ + #position: relative; /* IE7 */ + display: table-cell; + vertical-align: middle; + width: 100%; + + div.DTED_Lightbox_Content { + *top: -50%; /* IE6 */ + #top: -50%; /* IE7 */ + position: relative; + border: 7px solid rgba(220, 220, 220, 0.5); + box-shadow: 2px 2px 10px #555; + border-radius: 10px; + @include box-sizing(border-box); + + div.DTE { + background: white; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + @include box-sizing(border-box); + + div.DTE_Header { + top: 2px; + left: 2px; + right: 2px; + width: auto; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + + div.DTE_Footer { + bottom: 2px; + left: 2px; + right: 2px; + width: auto; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } + } + + div.DTED_Lightbox_Close { + @include close-icon(); + } + } + } + } +} + + +div.DTED_Lightbox_Background { + @include overlay-background(); +} + + +body.DTED_Lightbox_Mobile { + div.DTED_Lightbox_Background { + height: 0; + } + + div.DTED_Lightbox_Shown { + display: none; + } + + div.DTED_Lightbox_Wrapper { + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + width: auto; + height: auto; + margin-left: 0; + -webkit-overflow-scrolling: touch; + + div.DTED_Lightbox_Container { + display: block; + + div.DTED_Lightbox_Content_Wrapper { + display: block; + + div.DTED_Lightbox_Content { + border: 4px solid rgba(220, 220, 220, 0.5); + border-radius: 0; + + div.DTE { + border-radius: 0; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + + div.DTE_Header { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + div.DTE_Footer { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + } + + div.DTED_Lightbox_Close { + top: 11px; + right: 15px; + } + } + } + } + } +} + +@media only screen +and (max-width: 780px) { + div.DTED_Lightbox_Wrapper { + position: fixed; + top: 0; + left: 0; + width: 100%; + margin-left: 0; + } +} + + + + + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/main.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/main.scss Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,188 @@ + + +// The main form. +// Most of the styles for display of the main form come from the display +// controller (lightbox and envelope are the two built in options). +div.DTE_Body { + padding: 50px 0; // space for hte header and footer which are position: absolute + + div.DTE_Body_Content { + position: relative; + overflow: auto; + + div.DTE_Form_Info { + padding: 1em 1em 0 1em; + margin: 0; + } + + div.DTE_Field { + position: relative; + zoom: 1; + + clear: both; + padding: 5px 20%; + border: 1px solid transparent; + + &:after { + display: block; + content: "."; + height: 0; + line-height: 0; + clear: both; + visibility: hidden; + } + + &:hover { + background-color: #f9f9f9; + border: 1px solid #f3f3f3; + } + + >label { + float: left; + width: 40%; + padding-top: 6px; + } + + >div.DTE_Field_Input { + float: right; + width: 60%; + } + + // Field in error state + &.DTE_Field_StateError { } + + &.full { + padding: 5px 0 5px 20%; + + >label { + width: 30%; + } + + >div.DTE_Field_Input { + width: 70%; + } + } + + &.block { + >div.DTE_Field_Input { + float: none; + clear: both; + width: 100%; + } + } + } + } +} + +html[dir="rtl"] { + div.DTE_Body div.DTE_Body_Content div.DTE_Field { + > label { + float: right; + } + + >div.DTE_Field_Input { + float: left; + } + } + + div.DTE div.DTE_Form_Buttons button { + float: left; + } +} + +// iPad in portrait +@media only screen +and (max-width : 768px) { + div.DTE_Body { + div.DTE_Body_Content { + div.DTE_Field { + padding: 5px 10%; + + &.full { + padding: 5px 0 5px 10%; + + >label { + width: 35.5%; + } + + >div.DTE_Field_Input { + width: 64.5%; + } + } + + &.block { + >div.DTE_Field_Input { + width: 100%; + } + } + } + } + } +} + +@media only screen +and (max-width : 640px) { + div.DTE_Body { + div.DTE_Body_Content { + div.DTE_Field { + padding: 5px 0; + + &.full { + padding: 5px 0%; + + >label { + width: 40%; + } + + >div.DTE_Field_Input { + width: 60%; + } + } + + &.block { + >div.DTE_Field_Input { + width: 100%; + } + } + } + } + } +} + +// For devices with smaller screens, the fields should be shown stacked +@media only screen +and (max-width : 580px) { + div.DTE_Body { + div.DTE_Body_Content { + div.DTE_Field { + position: relative; + zoom: 1; + + clear: both; + padding: 5px 0; + + >label { + float: none; + width: auto; + padding-top: 0; + } + + >div.DTE_Field_Input { + float: none; + width: auto; + } + + &.full, + &.block { + padding: 5px 0; + + >label, + >div.DTE_Field_Input { + width: 100%; + } + } + } + } + } +} + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/mixins.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/mixins.scss Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,176 @@ + + +@function tint( $color, $percent ) { + @return mix(white, $color, $percent); +} + +@function shade( $color, $percent ) { + @return mix(black, $color, $percent); +} + + +@mixin border-radius ( $radius ) { + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + -ms-border-radius: $radius; + -o-border-radius: $radius; + border-radius: $radius; +} + +@mixin box-sizing($box-model) { + -webkit-box-sizing: $box-model; // Safari <= 5 + -moz-box-sizing: $box-model; // Firefox <= 19 + box-sizing: $box-model; +} + +@mixin box-shadow($top, $left, $blur, $color, $inset: false) { + @if $inset { + -webkit-box-shadow:inset $top $left $blur $color; + -moz-box-shadow:inset $top $left $blur $color; + box-shadow:inset $top $left $blur $color; + } @else { + -webkit-box-shadow: $top $left $blur $color; + -moz-box-shadow: $top $left $blur $color; + box-shadow: $top $left $blur $color; + } +} + +@mixin three-stop-gradient($fromColor, $middleColor, $toColor) { + background-color: $toColor; /* Fallback */ + background-image: -webkit-linear-gradient(top, $fromColor, $middleColor, $toColor); /* Chrome 10+, Saf5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, $fromColor, $middleColor, $toColor); /* FF3.6 */ + background-image: -ms-linear-gradient(top, $fromColor, $middleColor, $toColor); /* IE10 */ + background-image: -o-linear-gradient(top, $fromColor, $middleColor, $toColor); /* Opera 11.10+ */ + background-image: linear-gradient(to bottom, $fromColor, $middleColor, $toColor); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#{nth( $fromColor, 1 )}', EndColorStr='#{nth( $toColor, 1 )}'); +} + +@mixin radial-gradient ($fromColor, $toColor ) { + background: $toColor; /* Fallback */ + background: -ms-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* IE10 Consumer Preview */ + background: -moz-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Firefox */ + background: -o-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Opera */ + background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, $fromColor), color-stop(1, $toColor)); /* Webkit (Safari/Chrome 10) */ + background: -webkit-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Webkit (Chrome 11+) */ + background: radial-gradient(ellipse farthest-corner at center, $fromColor 0%, $toColor 100%); /* W3C Markup, IE10 Release Preview */ +} + +@mixin keyframe ($animation_name) { + @-webkit-keyframes #{$animation_name} { + @content; + } + + @-moz-keyframes #{$animation_name} { + @content; + } + + @-o-keyframes #{$animation_name} { + @content; + } + + @keyframes #{$animation_name} { + @content; + } +} + +@mixin animation ($duration, $animation) { + -webkit-animation-duration: $duration; + -webkit-animation-name: $animation; + -webkit-animation-fill-mode: forwards; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -webkit-animation-direction: alternate; + + -moz-animation-duration: $duration; + -moz-animation-name: $animation; + -moz-animation-fill-mode: forwards; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + -moz-animation-direction: alternate; + + -o-animation-duration: $duration; + -o-animation-name: $animation; + -o-animation-fill-mode: forwards; + -o-animation-iteration-count: infinite; + -o-animation-timing-function: linear; + -o-animation-direction: alternate; + + animation-duration: $duration; + animation-name: $animation; + animation-fill-mode: forwards; + animation-iteration-count: infinite; + animation-timing-function: linear; + animation-direction: alternate; +} + +@mixin close-icon () { + position: absolute; + top: -11px; + right: -11px; + width: 22px; + height: 22px; + border: 2px solid white; + background-color: black; + text-align: center; + border-radius: 15px; + cursor: pointer; + z-index: 12; + box-shadow: 2px 2px 6px #111; + + &:after { + content: '\00d7'; + color: white; + font-weight: bold; + font-size: 18px; + line-height: 22px; + font-family: 'Courier New', Courier, monospace; + padding-left: 1px; + } + + &:hover { + background-color: #092079; + box-shadow: 2px 2px 9px #111; + } +} + +@mixin overlay-background () { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + + @include radial-gradient( rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7) ); + + z-index: 10; + + // IE8- doesn't support RGBA and jQuery uses `filter:` for the fade-in + // animation, so we need a child element that is used just for the display + >div { + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + + // IE7- + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); + + // IE8 + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; + } + + // IE9 has both filter and rgba support, so we need a hack to disable the filter + >div:not([dummy]) { + filter: progid:DXImageTransform.Microsoft.gradient(enabled='false'); + } +} + +@mixin background-transision () { + -webkit-transition: background-color 500ms linear; + -moz-transition: background-color 500ms linear; + -ms-transition: background-color 500ms linear; + -o-transition: background-color 500ms linear; + transition: background-color 500ms linear; +} + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/css/scss/upload.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/css/scss/upload.scss Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,142 @@ + +div.DTE div.editor_upload { + padding-top: 4px; + + div.eu_table { + display: table; + width: 100%; + } + + div.row { + display: table-row; + } + + div.cell { + display: table-cell; + position: relative; + width: 50%; + vertical-align: top; + } + + div.cell + div.cell { + padding-left: 10px; + } + + div.row + div.row { + div.cell { + padding-top: 10px; + } + } + + button.btn, + input[type=file] { + width: 100%; + height: 2.3em; + font-size: 0.8em; + text-align: center; + line-height: 1em; + } + + input[type=file] { + position: absolute; + top: 0; + left: 0; + width: 100%; + opacity: 0; + } + + div.drop { + position: relative; + box-sizing: border-box; + width: 100%; + height: 100%; + border: 3px dashed #ccc; + border-radius: 6px; + min-height: 4em; + color: #999; + padding-top: 3px; + text-align: center; + + &.over { + border: 3px dashed #111; + color: #111; + } + + span { + max-width: 75%; + font-size: 0.85em; + line-height: 1em; + } + } + + div.rendered { + img { + max-width: 8em; + margin: 0 auto; + } + } + + &.noDrop { + div.drop { + display: none; + } + + div.row.second { + display: none; + } + + div.rendered { + margin-top: 10px; + } + } + + &.noClear { + div.clearValue button { + display: none; + } + } + + &.multi { + div.cell { + display: block; + width: 100%; + + div.drop { + min-height: 0; + padding-bottom: 5px; + } + } + + div.clearValue { + display: none; + } + + ul { + list-style-type: none; + margin: 0; + padding: 0; + + li { + position: relative; + margin-top: 0.5em; + + &:first-child { + margin-top: 0; + } + + img { + vertical-align: middle; + } + + button { + position: absolute; + width: 40px; + right: 0; + top: 50%; + margin-top: -1.5em; + } + } + } + } +} + |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/ajax-loader-small.gif |
b |
Binary file js/Editor-1.5.6/images/ajax-loader-small.gif has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/ajax-loader.gif |
b |
Binary file js/Editor-1.5.6/images/ajax-loader.gif has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/calender.png |
b |
Binary file js/Editor-1.5.6/images/calender.png has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/close.png |
b |
Binary file js/Editor-1.5.6/images/close.png has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/shadow_left.png |
b |
Binary file js/Editor-1.5.6/images/shadow_left.png has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/images/shadow_right.png |
b |
Binary file js/Editor-1.5.6/images/shadow_right.png has changed |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/dataTables.editor.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/dataTables.editor.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,8844 @@\n+/*! DataTables Editor v1.5.6\n+ *\n+ * \xc2\xa92012-2016 SpryMedia Ltd, all rights reserved.\n+ * License: editor.datatables.net/license\n+ */\n+\n+/**\n+ * @summary DataTables Editor\n+ * @description Table editing library for DataTables\n+ * @version 1.5.6\n+ * @file dataTables.editor.js\n+ * @author SpryMedia Ltd\n+ * @contact www.datatables.net/contact\n+ */\n+\n+/*jslint evil: true, undef: true, browser: true */\n+/*globals jQuery,alert,console */\n+\n+(function( factory ){\n+\tif ( typeof define === \'function\' && define.amd ) {\n+\t\t// AMD\n+\t\tdefine( [\'jquery\', \'datatables.net\'], function ( $ ) {\n+\t\t\treturn factory( $, window, document );\n+\t\t} );\n+\t}\n+\telse if ( typeof exports === \'object\' ) {\n+\t\t// CommonJS\n+\t\tmodule.exports = function (root, $) {\n+\t\t\tif ( ! root ) {\n+\t\t\t\troot = window;\n+\t\t\t}\n+\n+\t\t\tif ( ! $ || ! $.fn.dataTable ) {\n+\t\t\t\t$ = require(\'datatables.net\')(root, $).$;\n+\t\t\t}\n+\n+\t\t\treturn factory( $, root, root.document );\n+\t\t};\n+\t}\n+\telse {\n+\t\t// Browser\n+\t\tfactory( jQuery, window, document );\n+\t}\n+}(function( $, window, document, undefined ) {\n+\'use strict\';\n+var DataTable = $.fn.dataTable;\n+\n+\n+if ( ! DataTable || ! DataTable.versionCheck || ! DataTable.versionCheck(\'1.10.7\') ) {\n+\tthrow \'Editor requires DataTables 1.10.7 or newer\';\n+}\n+\n+/**\n+ * Editor is a plug-in for <a href="http://datatables.net">DataTables</a> which\n+ * provides an interface for creating, reading, editing and deleting and entries\n+ * (a CRUD interface) in a DataTable. The documentation presented here is\n+ * primarily focused on presenting the API for Editor. For a full list of\n+ * features, examples and the server interface protocol, please refer to the <a\n+ * href="http://editor.datatables.net">Editor web-site</a>.\n+ *\n+ * Note that in this documentation, for brevity, the `DataTable` refers to the\n+ * jQuery parameter `jQuery.fn.dataTable` through which it may be accessed.\n+ * Therefore, when creating a new Editor instance, use `jQuery.fn.Editor` as\n+ * shown in the examples below.\n+ *\n+ * @class\n+ * @param {object} [oInit={}] Configuration object for Editor. Options\n+ * are defined by {@link Editor.defaults}.\n+ * @requires jQuery 1.7+\n+ * @requires DataTables 1.10+\n+ */\n+var Editor = function ( opts )\n+{\n+\tif ( ! this instanceof Editor ) {\n+\t\talert( "DataTables Editor must be initialised as a \'new\' instance\'" );\n+\t}\n+\n+\tthis._constructor( opts );\n+};\n+\n+// Export Editor as a DataTables property\n+DataTable.Editor = Editor;\n+$.fn.DataTable.Editor = Editor;\n+\n+// Internal methods\n+\n+\n+/**\n+ * Get an Editor node based on the data-dte-e (element) attribute and return it\n+ * as a jQuery object.\n+ * @param {string} dis The data-dte-e attribute name to match for the element\n+ * @param {node} [ctx=document] The context for the search - recommended this\n+ * parameter is included for performance.\n+ * @returns {jQuery} jQuery object of found node(s).\n+ * @private\n+ */\n+var _editor_el = function ( dis, ctx )\n+{\n+\tif ( ctx === undefined ) {\n+\t\tctx = document;\n+\t}\n+\n+\treturn $(\'*[data-dte-e="\'+dis+\'"]\', ctx);\n+};\n+\n+\n+/** @internal Counter for unique event namespaces in the inline control */\n+var __inlineCounter = 0;\n+\n+var _pluck = function ( a, prop )\n+{\n+\tvar out = [];\n+\n+\t$.each( a, function ( idx, el ) {\n+\t\tout.push( el[ prop ] );\n+\t} );\n+\n+\treturn out;\n+};\n+\n+// Field class\n+\n+\n+Editor.Field = function ( opts, classes, host ) {\n+\tvar that = this;\n+\tvar multiI18n = host.i18n.multi;\n+\n+\topts = $.extend( true, {}, Editor.Field.defaults, opts );\n+\t\n+\tif ( ! Editor.fieldTypes[ opts.type ] ) {\n+\t\tthrow "Error adding field - unknown field type "+opts.type;\n+\t}\n+\n+\tthis.s = $.extend( {}, Editor.Field.settings, { // has to be a shallow copy!\n+\t\ttype: Editor.fieldTypes[ opts.type ],\n+\t\tname: opts.name,\n+\t\tclasses: classes,\n+\t\thost: host,\n+\t\topts: opts,\n+\t\tmultiValue: false\n+\t} );\n+\n+\t// No id, so assign one to have the label reference work\n+\tif ( ! opts.id ) {\n+\t\topts.id = \'DTE_Field_\'+opts.name;'..b' - included for naming consistency.\n+ * @name Editor#postCreate\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ * @param {object} data The data that was used to update the DataTable\n+ */\n+\n+/**\n+ * Edit method activated event, fired when the edit API method has been called,\n+ * just prior to the form being shown. Useful for manipulating the form specifically\n+ * for the edit state.\n+ * @name Editor#initEdit\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {node} tr TR element of the row to be edited\n+ * @param {array|object} data Data source array / object for the row to be\n+ * edited\n+ */\n+\n+/**\n+ * Pre-edit row event, fired just before DataTables calls the fnUpdate method\n+ * to edit data in a DataTables row, allowing modification of the data that will be\n+ * used to update the table.\n+ * @name Editor#preEdit\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ * @param {object} data The data that will be used to update the DataTable\n+ */\n+\n+/**\n+ * Edit row event, fired when a row has been edited in the DataTable by a form\n+ * submission. This is called just after the fnUpdate call to the DataTable.\n+ * @name Editor#edit\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ * @param {object} data The data that was used to update the DataTable\n+ */\n+\n+/**\n+ * As per the `edit` event - included for naming consistency.\n+ * @name Editor#postEdit\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ * @param {object} data The data that was used to update the DataTable\n+ */\n+\n+/**\n+ * Remove method activated event, fired when the remove API method has been\n+ * called, just prior to the form being shown. Useful for manipulating the form\n+ * specifically for the remove state.\n+ * @name Editor#initRemove\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {array} trs Array of the TR elements for the removed to be deleted\n+ * @param {array} data Array of the data source array / objects for the rows to\n+ * be deleted. This is in the same index order as the TR nodes in the second\n+ * parameter.\n+ */\n+\n+/**\n+ * Pre-remove row event, fired just before DataTables calls the fnDeleteRow method\n+ * to delete a DataTables row.\n+ * @name Editor#preRemove\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ */\n+\n+/**\n+ * Row removed event, fired when a row has been removed in the DataTable by a form\n+ * submission. This is called just after the fnDeleteRow call to the DataTable.\n+ * @name Editor#remove\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ */\n+\n+/**\n+ * As per the `postRemove` event - included for naming consistency.\n+ * @name Editor#postRemove\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ */\n+\n+/**\n+ * Set data event, fired when the data is gathered from the form to be used\n+ * to update the DataTable. This is a "global" version of `preCreate`, `preEdit`\n+ * and `preRemove` and can be used to manipulate the data that will be added\n+ * to the DataTable for all three actions\n+ * @name Editor#setData\n+ * @event\n+ * @param {event} e jQuery event object\n+ * @param {object} json The JSON object returned from the server\n+ * @param {object} data The data that will be used to update the DataTable\n+ * @param {string} action The action being performed by the form - \'create\',\n+ * \'edit\' or \'remove\'.\n+ */\n+\n+/**\n+ * Initialisation of the Editor instance has been completed.\n+ * @name Editor#initComplete\n+ * @event\n+ * @param {event} e jQuery event object\n+ */\n+\n+\n+return Editor;\n+}));\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/dataTables.editor.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/dataTables.editor.min.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,140 @@\n+/*!\n+ DataTables Editor v1.5.6\n+\n+ \xc2\xa92012-2016 SpryMedia Ltd, all rights reserved.\n+ License: editor.datatables.net/license\n+*/\n+(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(j){return d(j,window,document)}):"object"===typeof exports?module.exports=function(j,q){j||(j=window);if(!q||!q.fn.dataTable)q=require("datatables.net")(j,q).$;return d(q,j,j.document)}:d(jQuery,window,document)})(function(d,j,q,h){function v(a){a=a.context[0];return a.oInit.editor||a._editor}function B(a,b,c,e){b||(b={});b.buttons===h&&(b.buttons="_basic");b.title===h&&(b.title=a.i18n[c].title);b.message===\n+h&&("remove"===c?(a=a.i18n[c].confirm,b.message=1!==e?a._.replace(/%d/,e):a["1"]):b.message="");return b}var r=d.fn.dataTable;if(!r||!r.versionCheck||!r.versionCheck("1.10.7"))throw"Editor requires DataTables 1.10.7 or newer";var f=function(a){!this instanceof f&&alert("DataTables Editor must be initialised as a \'new\' instance\'");this._constructor(a)};r.Editor=f;d.fn.DataTable.Editor=f;var t=function(a,b){b===h&&(b=q);return d(\'*[data-dte-e="\'+a+\'"]\',b)},N=0,y=function(a,b){var c=[];d.each(a,function(a,\n+d){c.push(d[b])});return c};f.Field=function(a,b,c){var e=this,l=c.i18n.multi,a=d.extend(!0,{},f.Field.defaults,a);if(!f.fieldTypes[a.type])throw"Error adding field - unknown field type "+a.type;this.s=d.extend({},f.Field.settings,{type:f.fieldTypes[a.type],name:a.name,classes:b,host:c,opts:a,multiValue:!1});a.id||(a.id="DTE_Field_"+a.name);a.dataProp&&(a.data=a.dataProp);""===a.data&&(a.data=a.name);var k=r.ext.oApi;this.valFromData=function(b){return k._fnGetObjectDataFn(a.data)(b,"editor")};this.valToData=\n+k._fnSetObjectDataFn(a.data);b=d(\'<div class="\'+b.wrapper+" "+b.typePrefix+a.type+" "+b.namePrefix+a.name+" "+a.className+\'"><label data-dte-e="label" class="\'+b.label+\'" for="\'+a.id+\'">\'+a.label+\'<div data-dte-e="msg-label" class="\'+b["msg-label"]+\'">\'+a.labelInfo+\'</div></label><div data-dte-e="input" class="\'+b.input+\'"><div data-dte-e="input-control" class="\'+b.inputControl+\'"/><div data-dte-e="multi-value" class="\'+b.multiValue+\'">\'+l.title+\'<span data-dte-e="multi-info" class="\'+b.multiInfo+\n+\'">\'+l.info+\'</span></div><div data-dte-e="msg-multi" class="\'+b.multiRestore+\'">\'+l.restore+\'</div><div data-dte-e="msg-error" class="\'+b["msg-error"]+\'"></div><div data-dte-e="msg-message" class="\'+b["msg-message"]+\'"></div><div data-dte-e="msg-info" class="\'+b["msg-info"]+\'">\'+a.fieldInfo+"</div></div></div>");c=this._typeFn("create",a);null!==c?t("input-control",b).prepend(c):b.css("display","none");this.dom=d.extend(!0,{},f.Field.models.dom,{container:b,inputControl:t("input-control",b),label:t("label",\n+b),fieldInfo:t("msg-info",b),labelInfo:t("msg-label",b),fieldError:t("msg-error",b),fieldMessage:t("msg-message",b),multi:t("multi-value",b),multiReturn:t("msg-multi",b),multiInfo:t("multi-info",b)});this.dom.multi.on("click",function(){e.val("")});this.dom.multiReturn.on("click",function(){e.s.multiValue=true;e._multiValueCheck()});d.each(this.s.type,function(a,b){typeof b==="function"&&e[a]===h&&(e[a]=function(){var b=Array.prototype.slice.call(arguments);b.unshift(a);b=e._typeFn.apply(e,b);return b===\n+h?e:b})})};f.Field.prototype={def:function(a){var b=this.s.opts;if(a===h)return a=b["default"]!==h?b["default"]:b.def,d.isFunction(a)?a():a;b.def=a;return this},disable:function(){this._typeFn("disable");return this},displayed:function(){var a=this.dom.container;return a.parents("body").length&&"none"!=a.css("display")?!0:!1},enable:function(){this._typeFn("enable");return this},error:function(a,b){var c=this.s.classes;a?this.dom.container.addClass(c.error):this.dom.container.removeClass(c.error);\n+return this._msg(this.dom.fieldError,a,b)},isMultiValue:function(){return this.s.multiValue},inError:function(){return this.dom.container.hasClass(this.s.classes.error)},input:function(){return this.s.type.input?this._typeFn("input"):d("input, select, textarea",this.dom.container)}'..b's._preChecked)this.checked=true})});return a._input[0]},get:function(a){a=a._input.find("input:checked");return a.length?a[0]._editor_val:h},set:function(a,b){a._input.find("input").each(function(){this._preChecked=false;\n+if(this._editor_val==b)this._preChecked=this.checked=true;else this._preChecked=this.checked=false});A(a._input.find("input:checked"))},enable:function(a){a._input.find("input").prop("disabled",false)},disable:function(a){a._input.find("input").prop("disabled",true)},update:function(a,b){var c=s.radio,d=c.get(a);c._addOptions(a,b);var f=a._input.find("input");c.set(a,f.filter(\'[value="\'+d+\'"]\').length?d:f.eq(0).attr("value"))}});s.date=d.extend(!0,{},p,{create:function(a){a._input=d("<input />").attr(d.extend({id:f.safeId(a.id),\n+type:"text"},a.attr));if(d.datepicker){a._input.addClass("jqueryui");if(!a.dateFormat)a.dateFormat=d.datepicker.RFC_2822;if(a.dateImage===h)a.dateImage="../../images/calender.png";setTimeout(function(){d(a._input).datepicker(d.extend({showOn:"both",dateFormat:a.dateFormat,buttonImage:a.dateImage,buttonImageOnly:true},a.opts));d("#ui-datepicker-div").css("display","none")},10)}else a._input.attr("type","date");return a._input[0]},set:function(a,b){d.datepicker&&a._input.hasClass("hasDatepicker")?a._input.datepicker("setDate",\n+b).change():d(a._input).val(b)},enable:function(a){d.datepicker?a._input.datepicker("enable"):d(a._input).prop("disabled",false)},disable:function(a){d.datepicker?a._input.datepicker("disable"):d(a._input).prop("disabled",true)},owns:function(a,b){return d(b).parents("div.ui-datepicker").length||d(b).parents("div.ui-datepicker-header").length?true:false}});s.datetime=d.extend(!0,{},p,{create:function(a){a._input=d("<input />").attr(d.extend(true,{id:f.safeId(a.id),type:"text"},a.attr));a._picker=\n+new f.DateTime(a._input,d.extend({format:a.format,i18n:this.i18n.datetime},a.opts));return a._input[0]},set:function(a,b){a._picker.val(b);A(a._input)},owns:function(a,b){return a._picker.owns(b)},destroy:function(a){a._picker.destroy()},minDate:function(a,b){a._picker.min(b)},maxDate:function(a,b){a._picker.max(b)}});s.upload=d.extend(!0,{},p,{create:function(a){var b=this;return M(b,a,function(c){f.fieldTypes.upload.set.call(b,a,c[0])})},get:function(a){return a._val},set:function(a,b){a._val=b;\n+var c=a._input;if(a.display){var d=c.find("div.rendered");a._val?d.html(a.display(a._val)):d.empty().append("<span>"+(a.noFileText||"No file")+"</span>")}d=c.find("div.clearValue button");if(b&&a.clearText){d.html(a.clearText);c.removeClass("noClear")}else c.addClass("noClear");a._input.find("input").triggerHandler("upload.editor",[a._val])},enable:function(a){a._input.find("input").prop("disabled",false);a._enabled=true},disable:function(a){a._input.find("input").prop("disabled",true);a._enabled=\n+false}});s.uploadMany=d.extend(!0,{},p,{create:function(a){var b=this,c=M(b,a,function(c){a._val=a._val.concat(c);f.fieldTypes.uploadMany.set.call(b,a,a._val)});c.addClass("multi").on("click","button.remove",function(c){c.stopPropagation();c=d(this).data("idx");a._val.splice(c,1);f.fieldTypes.uploadMany.set.call(b,a,a._val)});return c},get:function(a){return a._val},set:function(a,b){b||(b=[]);if(!d.isArray(b))throw"Upload collections must have an array as a value";a._val=b;var c=this,e=a._input;\n+if(a.display){e=e.find("div.rendered").empty();if(b.length){var f=d("<ul/>").appendTo(e);d.each(b,function(b,d){f.append("<li>"+a.display(d,b)+\' <button class="\'+c.classes.form.button+\' remove" data-idx="\'+b+\'">×</button></li>\')})}else e.append("<span>"+(a.noFileText||"No files")+"</span>")}a._input.find("input").triggerHandler("upload.editor",[a._val])},enable:function(a){a._input.find("input").prop("disabled",false);a._enabled=true},disable:function(a){a._input.find("input").prop("disabled",\n+true);a._enabled=false}});r.ext.editorFields&&d.extend(f.fieldTypes,r.ext.editorFields);r.ext.editorFields=f.fieldTypes;f.files={};f.prototype.CLASS="Editor";f.version="1.5.6";return f});\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.bootstrap.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.bootstrap.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,220 @@ +/*! Bootstrap integration for DataTables' Editor + * ©2015 SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-bs', 'datatables.net-editor'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = function (root, $) { + if ( ! root ) { + root = window; + } + + if ( ! $ || ! $.fn.dataTable ) { + $ = require('datatables.net-bs')(root, $).$; + } + + if ( ! $.fn.dataTable.Editor ) { + require('datatables.net-editor')(root, $); + } + + return factory( $, root, root.document ); + }; + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +/* + * Set the default display controller to be our bootstrap control + */ +DataTable.Editor.defaults.display = "bootstrap"; + + +/* + * Alter the buttons that Editor adds to TableTools so they are suitable for bootstrap + */ +var i18nDefaults = DataTable.Editor.defaults.i18n; +i18nDefaults.create.title = "<h3>"+i18nDefaults.create.title+"</h3>"; +i18nDefaults.edit.title = "<h3>"+i18nDefaults.edit.title+"</h3>"; +i18nDefaults.remove.title = "<h3>"+i18nDefaults.remove.title+"</h3>"; + +var tt = DataTable.TableTools; +if ( tt ) { + tt.BUTTONS.editor_create.formButtons[0].className = "btn btn-primary"; + tt.BUTTONS.editor_edit.formButtons[0].className = "btn btn-primary"; + tt.BUTTONS.editor_remove.formButtons[0].className = "btn btn-danger"; +} + + +/* + * Change the default classes from Editor to be classes for Bootstrap + */ +$.extend( true, $.fn.dataTable.Editor.classes, { + "header": { + "wrapper": "DTE_Header modal-header" + }, + "body": { + "wrapper": "DTE_Body modal-body" + }, + "footer": { + "wrapper": "DTE_Footer modal-footer" + }, + "form": { + "tag": "form-horizontal", + "button": "btn btn-default" + }, + "field": { + "wrapper": "DTE_Field", + "label": "col-lg-4 control-label", + "input": "col-lg-8 controls", + "error": "error has-error", + "msg-labelInfo": "help-block", + "msg-info": "help-block", + "msg-message": "help-block", + "msg-error": "help-block", + "multiValue": "well well-sm multi-value", + "multiInfo": "small", + "multiRestore": "well well-sm multi-restore" + } +} ); + + +/* + * Bootstrap display controller - this is effectively a proxy to the Bootstrap + * modal control. + */ + +var self; + +DataTable.Editor.display.bootstrap = $.extend( true, {}, DataTable.Editor.models.displayController, { + /* + * API methods + */ + "init": function ( dte ) { + // init can be called multiple times (one for each Editor instance), but + // we only support a single construct here (shared between all Editor + // instances) + if ( ! self._dom.content ) { + self._dom.content = $( + '<div class="modal fade">'+ + '<div class="modal-dialog">'+ + '<div class="modal-content"/>'+ + '</div>'+ + '</div>' + ); + + self._dom.close = $('<button class="close">×</div>'); + + self._dom.close.click( function () { + self._dte.close('icon'); + } ); + + $(document).on('click', 'div.modal', function (e) { + if ( $(e.target).hasClass('modal') && self._shown ) { + self._dte.background(); + } + } ); + + dte.on( 'open.dtebs', function ( e, type ) { + if ( type === 'inline' || type === 'bubble' ) { + $('div.DTE input[type=text], div.DTE select, div.DTE textarea').addClass( 'form-control' ); + } + } ); + } + + return self; + }, + + "open": function ( dte, append, callback ) { + if ( self._shown ) { + if ( callback ) { + callback(); + } + return; + } + + self._dte = dte; + self._shown = true; + + var content = self._dom.content.find('div.modal-content'); + content.children().detach(); + content.append( append ); + + $('div.modal-header', append).prepend( self._dom.close ); + + $(self._dom.content) + .one('shown.bs.modal', function () { + // Can only give elements focus when shown + if ( self._dte.s.setFocus ) { + self._dte.s.setFocus.focus(); + } + + if ( callback ) { + callback(); + } + }) + .one('hidden', function () { + self._shown = false; + }) + .appendTo( 'body' ) + .modal( { + backdrop: "static", + keyboard: false + } ); + + $('input:not([type=checkbox]):not([type=radio]), select, textarea', self._dom.content) + .addClass( 'form-control' ); + }, + + "close": function ( dte, callback ) { + if ( !self._shown ) { + if ( callback ) { + callback(); + } + return; + } + + $(self._dom.content) + .one( 'hidden.bs.modal', function () { + $(this).detach(); + } ) + .modal('hide'); + + self._dte = dte; + self._shown = false; + + if ( callback ) { + callback(); + } + }, + + node: function ( dte ) { + return self._dom.content[0]; + }, + + + /* + * Private properties + */ + "_shown": false, + "_dte": null, + "_dom": {} +} ); + +self = DataTable.Editor.display.bootstrap; + + +return DataTable.Editor; +})); |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.bootstrap.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.bootstrap.min.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,10 @@ +/*! + Bootstrap integration for DataTables' Editor + ©2015 SpryMedia Ltd - datatables.net/license +*/ +(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-editor"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net-bs")(a,d).$;d.fn.dataTable.Editor||require("datatables.net-editor")(a,d);return c(d,a,a.document)}:c(jQuery,window,document)})(function(c,a,d){a=c.fn.dataTable;a.Editor.defaults.display="bootstrap";var e=a.Editor.defaults.i18n; +e.create.title="<h3>"+e.create.title+"</h3>";e.edit.title="<h3>"+e.edit.title+"</h3>";e.remove.title="<h3>"+e.remove.title+"</h3>";if(e=a.TableTools)e.BUTTONS.editor_create.formButtons[0].className="btn btn-primary",e.BUTTONS.editor_edit.formButtons[0].className="btn btn-primary",e.BUTTONS.editor_remove.formButtons[0].className="btn btn-danger";c.extend(!0,c.fn.dataTable.Editor.classes,{header:{wrapper:"DTE_Header modal-header"},body:{wrapper:"DTE_Body modal-body"},footer:{wrapper:"DTE_Footer modal-footer"}, +form:{tag:"form-horizontal",button:"btn btn-default"},field:{wrapper:"DTE_Field",label:"col-lg-4 control-label",input:"col-lg-8 controls",error:"error has-error","msg-labelInfo":"help-block","msg-info":"help-block","msg-message":"help-block","msg-error":"help-block",multiValue:"well well-sm multi-value",multiInfo:"small",multiRestore:"well well-sm multi-restore"}});var b;a.Editor.display.bootstrap=c.extend(!0,{},a.Editor.models.displayController,{init:function(a){if(!b._dom.content){b._dom.content= +c('<div class="modal fade"><div class="modal-dialog"><div class="modal-content"/></div></div>');b._dom.close=c('<button class="close">×</div>');b._dom.close.click(function(){b._dte.close("icon")});c(d).on("click","div.modal",function(a){c(a.target).hasClass("modal")&&b._shown&&b._dte.background()});a.on("open.dtebs",function(b,a){(a==="inline"||a==="bubble")&&c("div.DTE input[type=text], div.DTE select, div.DTE textarea").addClass("form-control")})}return b},open:function(a,e,d){if(b._shown)d&& +d();else{b._dte=a;b._shown=true;a=b._dom.content.find("div.modal-content");a.children().detach();a.append(e);c("div.modal-header",e).prepend(b._dom.close);c(b._dom.content).one("shown.bs.modal",function(){b._dte.s.setFocus&&b._dte.s.setFocus.focus();d&&d()}).one("hidden",function(){b._shown=false}).appendTo("body").modal({backdrop:"static",keyboard:false});c("input:not([type=checkbox]):not([type=radio]), select, textarea",b._dom.content).addClass("form-control")}},close:function(a,d){if(b._shown){c(b._dom.content).one("hidden.bs.modal", +function(){c(this).detach()}).modal("hide");b._dte=a;b._shown=false}d&&d()},node:function(){return b._dom.content[0]},_shown:!1,_dte:null,_dom:{}});b=a.Editor.display.bootstrap;return a.Editor}); |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.foundation.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.foundation.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,180 @@ +/*! Foundation integration for DataTables' Editor + * ©2015 SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-zf', 'datatables.net-editor'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = function (root, $) { + if ( ! root ) { + root = window; + } + + if ( ! $ || ! $.fn.dataTable ) { + $ = require('datatables.net-zf')(root, $).$; + } + + if ( ! $.fn.dataTable.Editor ) { + require('datatables.net-editor')(root, $); + } + + return factory( $, root, root.document ); + }; + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +/* + * Set the default display controller to be our foundation control + */ +DataTable.Editor.defaults.display = "foundation"; + + +/* + * Change the default classes from Editor to be classes for Foundation + */ +$.extend( true, $.fn.dataTable.Editor.classes, { + field: { + wrapper: "DTE_Field row", + label: "small-4 columns inline", + input: "small-8 columns", + error: "error", + multiValue: "panel radius multi-value", + multiInfo: "small", + multiRestore: "panel radius multi-restore", + "msg-labelInfo": "label secondary", + "msg-info": "label secondary", + "msg-message": "label secondary", + "msg-error": "label alert" + }, + form: { + button: "button small" + } +} ); + + +/* + * Foundation display controller - this is effectively a proxy to the Foundation + * modal control. + */ +var self; + +DataTable.Editor.display.foundation = $.extend( true, {}, DataTable.Editor.models.displayController, { + /* + * API methods + */ + "init": function ( dte ) { + self._dom.content = $( + '<div class="reveal reveal-modal" data-reveal />' + ); + self._dom.close = $('<button class="close close-button">×</div>'); + + self._dom.close.click( function () { + self._dte.close('icon'); + } ); + + return self; + }, + + "open": function ( dte, append, callback ) { + if ( self._shown ) { + if ( callback ) { + callback(); + } + return; + } + + self._dte = dte; + self._shown = true; + + var content = self._dom.content; + content.children().detach(); + content.append( append ); + content.prepend( self._dom.close ); + + $(self._dom.content) + .one('opened.fndtn.reveal', function () { + if ( callback ) { + callback(); + } + }) + .one('closed.fndtn.reveal', function () { + self._shown = false; + }); + + if ( window.Foundation && window.Foundation.Reveal ) { + // Foundation 6 + if ( ! self._reveal ) { + self._reveal = new window.Foundation.Reveal( self._dom.content, { + closeOnClick: false + } ); + } + + $(self._dom.content).appendTo('body'); + self._reveal.open(); + } + else { + // Foundation 5 + $(self._dom.content).foundation( 'reveal','open' ); + } + + $(document).on('click.dte-zf', 'div.reveal-modal-bg, div.reveal-overlay', function () { + self._dte.background(); + } ); + }, + + "close": function ( dte, callback ) { + if ( !self._shown ) { + if ( callback ) { + callback(); + } + return; + } + + if ( self._reveal ) { + self._reveal.close(); + } + else { + $(self._dom.content).foundation( 'reveal', 'close' ); + } + + $(document).off( 'click.dte-zf' ); + + self._dte = dte; + self._shown = false; + + if ( callback ) { + callback(); + } + }, + + node: function ( dte ) { + return self._dom.content[0]; + }, + + + /* + * Private properties + */ + "_shown": false, + "_dte": null, + "_dom": {} +} ); + +self = DataTable.Editor.display.foundation; + + +return DataTable.Editor; +})); |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.foundation.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.foundation.min.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,8 @@ +/*! + Foundation integration for DataTables' Editor + ©2015 SpryMedia Ltd - datatables.net/license +*/ +(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-editor"],function(c){return b(c,window,document)}):"object"===typeof exports?module.exports=function(c,d){c||(c=window);if(!d||!d.fn.dataTable)d=require("datatables.net-zf")(c,d).$;d.fn.dataTable.Editor||require("datatables.net-editor")(c,d);return b(d,c,c.document)}:b(jQuery,window,document)})(function(b,c,d){var e=b.fn.dataTable;e.Editor.defaults.display="foundation";b.extend(!0,b.fn.dataTable.Editor.classes, +{field:{wrapper:"DTE_Field row",label:"small-4 columns inline",input:"small-8 columns",error:"error",multiValue:"panel radius multi-value",multiInfo:"small",multiRestore:"panel radius multi-restore","msg-labelInfo":"label secondary","msg-info":"label secondary","msg-message":"label secondary","msg-error":"label alert"},form:{button:"button small"}});var a;e.Editor.display.foundation=b.extend(!0,{},e.Editor.models.displayController,{init:function(){a._dom.content=b('<div class="reveal reveal-modal" data-reveal />'); +a._dom.close=b('<button class="close close-button">×</div>');a._dom.close.click(function(){a._dte.close("icon")});return a},open:function(f,e,g){if(a._shown)g&&g();else{a._dte=f;a._shown=true;f=a._dom.content;f.children().detach();f.append(e);f.prepend(a._dom.close);b(a._dom.content).one("opened.fndtn.reveal",function(){g&&g()}).one("closed.fndtn.reveal",function(){a._shown=false});if(c.Foundation&&c.Foundation.Reveal){if(!a._reveal)a._reveal=new c.Foundation.Reveal(a._dom.content,{closeOnClick:false}); +b(a._dom.content).appendTo("body");a._reveal.open()}else b(a._dom.content).foundation("reveal","open");b(d).on("click.dte-zf","div.reveal-modal-bg, div.reveal-overlay",function(){a._dte.background()})}},close:function(c,e){if(a._shown){a._reveal?a._reveal.close():b(a._dom.content).foundation("reveal","close");b(d).off("click.dte-zf");a._dte=c;a._shown=false}e&&e()},node:function(){return a._dom.content[0]},_shown:!1,_dte:null,_dom:{}});a=e.Editor.display.foundation;return e.Editor}); |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.jqueryui.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.jqueryui.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,141 @@ +/*! jQuery UI integration for DataTables' Editor + * ©2015 SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-jqui', 'datatables.net-editor'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = function (root, $) { + if ( ! root ) { + root = window; + } + + if ( ! $ || ! $.fn.dataTable ) { + $ = require('datatables.net-jqui')(root, $).$; + } + + if ( ! $.fn.dataTable.Editor ) { + require('datatables.net-editor')(root, $); + } + + return factory( $, root, root.document ); + }; + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +var Editor = DataTable.Editor; +var doingClose = false; + +/* + * Set the default display controller to be our foundation control + */ +Editor.defaults.display = "jqueryui"; + +/* + * Change the default classes from Editor to be classes for Bootstrap + */ +$.extend( true, $.fn.dataTable.Editor.classes, { + form: { + button: "btn ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" + } +} ); + +/* + * jQuery UI display controller - this is effectively a proxy to the jQuery UI + * modal control. + */ +Editor.display.jqueryui = $.extend( true, {}, Editor.models.displayController, { + init: function ( dte ) { + dte.__dialouge = $('<div/>') + .css('display', 'none') + .appendTo('body') + .dialog( $.extend( true, Editor.display.jqueryui.modalOptions, { + autoOpen: false, + buttons: { "A": function () {} }, // fake button so the button container is created + closeOnEscape: false // allow editor's escape function to run + } ) ); + + // Need to know when the dialogue is closed using its own trigger + // so we can reset the form + $(dte.__dialouge).on( 'dialogclose', function (e) { + if ( ! doingClose ) { + dte.close(); + } + } ); + + return Editor.display.jqueryui; + }, + + open: function ( dte, append, callback ) { + dte.__dialouge + .append( append ) + .dialog( 'open' ); + + $(dte.dom.formError).appendTo( + dte.__dialouge.parent().find('div.ui-dialog-buttonpane') + ); + + dte.__dialouge.parent().find('.ui-dialog-title').html( dte.dom.header.innerHTML ); + dte.__dialouge.parent().addClass('DTED'); + + // Modify the Editor buttons to be jQuery UI suitable + var buttons = $(dte.dom.buttons) + .children() + .addClass( 'ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only' ) + .each( function () { + $(this).wrapInner( '<span class="ui-button-text" />' ); + } ); + + // Move the buttons into the jQuery UI button set + dte.__dialouge.parent().find('div.ui-dialog-buttonset') + .empty() + .append( buttons.parent() ); + + if ( callback ) { + callback(); + } + }, + + close: function ( dte, callback ) { + if ( dte.__dialouge ) { + // Don't want to trigger a close() call from dialogclose! + doingClose = true; + dte.__dialouge.dialog( 'close' ); + doingClose = false; + } + + if ( callback ) { + callback(); + } + }, + + node: function ( dte ) { + return dte.__dialouge[0]; + }, + + // jQuery UI dialogues perform their own focus capture + captureFocus: false +} ); + + +Editor.display.jqueryui.modalOptions = { + width: 600, + modal: true +}; + + +return DataTable.Editor; +})); |
b |
diff -r bca68066a957 -r a64ece32a01a js/Editor-1.5.6/js/editor.jqueryui.min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/Editor-1.5.6/js/editor.jqueryui.min.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,8 @@ +/*! + jQuery UI integration for DataTables' Editor + ©2015 SpryMedia Ltd - datatables.net/license +*/ +(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-editor"],function(c){return b(c,window,document)}):"object"===typeof exports?module.exports=function(c,a){c||(c=window);if(!a||!a.fn.dataTable)a=require("datatables.net-jqui")(c,a).$;a.fn.dataTable.Editor||require("datatables.net-editor")(c,a);return b(a,c,c.document)}:b(jQuery,window,document)})(function(b){var c=b.fn.dataTable,a=c.Editor,e=!1;a.defaults.display="jqueryui";b.extend(!0,b.fn.dataTable.Editor.classes, +{form:{button:"btn ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"}});a.display.jqueryui=b.extend(!0,{},a.models.displayController,{init:function(d){d.__dialouge=b("<div/>").css("display","none").appendTo("body").dialog(b.extend(true,a.display.jqueryui.modalOptions,{autoOpen:false,buttons:{A:function(){}},closeOnEscape:false}));b(d.__dialouge).on("dialogclose",function(){e||d.close()});return a.display.jqueryui},open:function(d,a,c){d.__dialouge.append(a).dialog("open");b(d.dom.formError).appendTo(d.__dialouge.parent().find("div.ui-dialog-buttonpane")); +d.__dialouge.parent().find(".ui-dialog-title").html(d.dom.header.innerHTML);d.__dialouge.parent().addClass("DTED");a=b(d.dom.buttons).children().addClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only").each(function(){b(this).wrapInner('<span class="ui-button-text" />')});d.__dialouge.parent().find("div.ui-dialog-buttonset").empty().append(a.parent());c&&c()},close:function(a,b){if(a.__dialouge){e=true;a.__dialouge.dialog("close");e=false}b&&b()},node:function(a){return a.__dialouge[0]}, +captureFocus:!1});a.display.jqueryui.modalOptions={width:600,modal:!0};return c.Editor}); |
b |
diff -r bca68066a957 -r a64ece32a01a js/boxplots.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/boxplots.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,608 @@\n+// Copyright (c) 2016 Northrop Grumman.\n+// All rights reserved.\n+\n+var displayMarkerTable = function(plotconfig){\n+ var nbm = plotconfig.mrkrNames.length + 1;\n+ $(plotconfig.mtable).empty();\n+ plotconfig.allMarkers.map(function(v) {\n+ $(plotconfig.mtable).append(\'<tr>\'\n+ + \'<td><span style="background-color:rgba(0,0,0,\' + (v + 1 )/ nbm + \')\'\n+ + \'"> </span></td>\'\n+ + \'<td title="\' + plotconfig.mrkrNames[v] + \'">\'\n+ + plotconfig.mrkrNames[v] + \'</td>\'\n+ + \'<td align="center"><input type="checkbox" checked class=\'\n+ + plotconfig.mrkrSelect + \' value=\' + v + \'/></td></tr>\');\n+ });\n+ if (nbm > 5) {\n+ $(plotconfig.mrkrSelectAll).prop(\'checked\', false);\n+ $(plotconfig.mrkrSelectAll).prop(\'disabled\', true);\n+ $(\'#markerWarning\').show();\n+ $(plotconfig.mrkrSelectj).each(function() {\n+ var selectedMrkr = parseInt(this.value);\n+ if (selectedMrkr > 4){\n+ this.checked = false;\n+ this.disabled = true;\n+ } else {\n+ this.checked = true;\n+ }\n+ });\n+ }\n+\n+ $(plotconfig.mrkrSelectAll).click(function() {\n+ var checkAll = $(plotconfig.mrkrSelectAll).prop(\'checked\');\n+ if (checkAll) {\n+ $(plotconfig.mrkrSelectj).prop("checked", true);\n+ } else {\n+ $(plotconfig.mrkrSelectj).prop("checked", false);\n+ }\n+ updateCSplots(plotconfig);\n+ });\n+\n+ $(plotconfig.mrkrSelectj).click(function() {\n+ if (nbm < 6){\n+ if ($(plotconfig.mrkrSelectj).length == $(plotconfig.mrkrSelectCheck).length) {\n+ $(plotconfig.mrkrSelectAll).prop("checked",true);\n+ } else {\n+ $(plotconfig.mrkrSelectAll).prop("checked",false);\n+ }\n+ } else {\n+ var nbSelected = 0;\n+ $(plotconfig.mrkrSelectj).each(function() {\n+ if (this.checked) {nbSelected++}\n+ });\n+ if (nbSelected < 5) {\n+ $(plotconfig.mrkrSelectj).prop(\'disabled\', false);\n+ } else {\n+ $(plotconfig.mrkrSelectj).each(function() {\n+ if (!this.checked) {\n+ this.disabled = true;\n+ }\n+ });\n+ }\n+ }\n+ updateCSplots(plotconfig);\n+ });\n+};\n+\n+var updateBoxplot = function(plotconfig){\n+ var margin = {top: 30, right: 10, bottom: 50, left: 60},\n+ h = 0,\n+ w = 0,\n+ width = 0,\n+ height = 0,\n+ labels = false, // show the text labels beside individual boxplots?\n+ mfi_option = false,\n+ min = Infinity,\n+ max = -Infinity,\n+ checkLabels = $(plotconfig.displayvalues).prop("checked"),\n+ checkMFI = $(plotconfig.displayMFI).prop("checked"),\n+ dataToPlot = [],\n+ tmp = [],\n+ nbm = plotconfig.mrkrNames.length + 1,\n+ maxRange = 0,\n+ minRange = 0,\n+ domainx = [],\n+ domainx1 = [];\n+\n+ $(plotconfig.plotdivj).empty();\n+ h = $(window).height() - 200;\n+ $(plotconfig.plotdivj).height(h);\n+ w = $(plotconfig.plotdivj).width();\n+ width = w - margin.left - margin.right;\n+ height = h - margin.top - margin.bottom;\n+\n+ var svg = d3.select(plotconfig.plotdivj).append("svg")\n+ .attr("width", w)\n+ .attr("height", h)\n+ .attr("class", "box")\n+ .append("g")\n+ .attr("transform", "translate(" + margin.left + "," + margin.top + ")");\n+\n+ if (checkLabels) {\n+ labels = true;\n+ };\n+ if (checkMFI) {\n+ mfi_option = true;\n+ };\n+ /* Get the data in proper shape to feed to the boxplot function\n+ want [Object, Object, ..., Object] where Object:\n+ \'population\': pop\n+ \'Data\' : [Object, Object, ..., Object] where Object:\n+ \'Marker\' : marker name\n+ \'outliers\' : outliers\n+ */\n+\n+ if (plotconfig.view == \'p\') {\n+ plotconfig.selectedPopulations.forEach(function(p) {\n+ tmpPlot = [];\n+ plotconfig.selectedMarkers.forEach(function(m) {\n+ var markernm = plotconfig.mrkrNames[m],\n+ qtmp = [\n+ +plotconfig.csdata.q1[markernm][p],\n+ +plotconfig.csdata.q2[markernm][p],\n+ +plotconfig.csd'..b'("opacity", 1e-6)\n+ .style("fill", function(d) {\n+ var nbm = data.config[2],\n+ pop = data.config[1],\n+ mrkr = data.config[0];\n+ var color = color_palette[0][pop][1] + (mrkr + 1 )/ nbm + \')\';\n+ return color; })\n+ .style("stroke", function(d) { return color_palette[0][data.config[1]][3]; })\n+ .transition()\n+ .duration(duration)\n+ .attr("cy", function(i) { return x1(d[i]); })\n+ .style("opacity", 1);\n+\n+ outlier.transition()\n+ .duration(duration)\n+ .attr("cy", function(i) { return x1(d[i]); })\n+ .style("opacity", 1);\n+\n+ outlier.exit().transition()\n+ .duration(duration)\n+ .attr("cy", function(i) { return x1(d[i]); })\n+ .style("opacity", 1e-6)\n+ .remove();\n+\n+ // Compute the tick format.\n+ var format = tickFormat || x1.tickFormat(8);\n+\n+ // Update box ticks.\n+ var boxTick = g.selectAll("text.box")\n+ .data(quartileData);\n+ if(showLabels == true) {\n+ boxTick.enter().append("text")\n+ .attr("class", "box")\n+ .attr("dy", ".3em")\n+ .attr("dx", function(d, i) { return i & 1 ? 6 : -6 })\n+ .attr("x", function(d, i) { return i & 1 ? + width : 0 })\n+ .attr("y", x0)\n+ .attr("text-anchor", function(d, i) { return i & 1 ? "start" : "end"; })\n+ .text(format)\n+ .transition()\n+ .duration(duration)\n+ .attr("y", x1);\n+ }\n+\n+ boxTick.transition()\n+ .duration(duration)\n+ .text(format)\n+ .attr("y", x1);\n+\n+ // Update whisker ticks. These are handled separately from the box\n+ // ticks because they may or may not exist, and we want don\'t want\n+ // to join box ticks pre-transition with whisker ticks post-.\n+ var whiskerTick = g.selectAll("text.whisker")\n+ .data(whiskerData || []);\n+ if(showLabels == true) {\n+ whiskerTick.enter().append("text")\n+ .attr("class", "whisker")\n+ .attr("dy", ".3em")\n+ .attr("dx", 6)\n+ .attr("x", width)\n+ .attr("y", x0)\n+ .text(format)\n+ .style("opacity", 1e-6)\n+ .transition()\n+ .duration(duration)\n+ .attr("y", x1)\n+ .style("opacity", 1);\n+ }\n+ whiskerTick.transition()\n+ .duration(duration)\n+ .text(format)\n+ .attr("y", x1)\n+ .style("opacity", 1);\n+\n+ whiskerTick.exit().transition()\n+ .duration(duration)\n+ .attr("y", x1)\n+ .style("opacity", 1e-6)\n+ .remove();\n+ });\n+ d3.timer.flush();\n+ }\n+\n+ box.width = function(x) {\n+ if (!arguments.length) return width;\n+ width = x;\n+ return box;\n+ };\n+ box.height = function(x) {\n+ if (!arguments.length) return height;\n+ height = x;\n+ return box;\n+ };\n+ box.tickFormat = function(x) {\n+ if (!arguments.length) return tickFormat;\n+ tickFormat = x;\n+ return box;\n+ };\n+ box.duration = function(x) {\n+ if (!arguments.length) return duration;\n+ duration = x;\n+ return box;\n+ };\n+ box.domain = function(x) {\n+ if (!arguments.length) return domain;\n+ domain = x == null ? x : d3.functor(x);\n+ return box;\n+ };\n+ box.value = function(x) {\n+ if (!arguments.length) return value;\n+ value = x;\n+ return box;\n+ };\n+ box.showLabels = function(x) {\n+ if (!arguments.length) return showLabels;\n+ showLabels = x;\n+ return box;\n+ };\n+ box.showMFI = function(x) {\n+ if (!arguments.length) return showMFI;\n+ showMFI = x;\n+ return box;\n+ };\n+ return box;\n+ };\n+})();\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/color_palette.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/color_palette.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b"@@ -0,0 +1,226 @@\n+// Copyright (c) 2016 Northrop Grumman.\n+// All rights reserved.\n+\n+/* Palettes for graphics.\n+* 0 -> Liz's palette (original ImmPort color scheme for graphics)\n+* 1 -> Cris's palette (diverging)\n+* 2 -> Christmas (diverging)\n+* 3 -> not Christmas (sequential color blind friendly)\n+* 4 -> Rainbow (sequential)\n+* arrays are color HEX, color RGB (for transparency effect), contrasting color, darker shade for borders\n+*/\n+var color_palette = [[\n+ ['#000000','rgba(0,0,0,','rgba(52,17,81,1)','#111111'],\n+\t['#FF0000','rgba(255,0,0,','rgba(52,17,81,1)','#D21111'],\n+\t['#FFFF00','rgba(255,255,0,','rgba(52,17,81,1)','#FFC900'],\n+\t['#008000','rgba(0,128,0,','rgba(52,17,81,1)','#016D01'],\n+\t['#0000FF','rgba(0,0,255,','rgba(255,0,0,1)','#2121A0'],\n+\t['#FFA500','rgba(255,165,0,','rgba(52,17,81,1)','#DE991B'],\n+\t['#8A2BE2','rgba(138,43,226,','rgba(52,17,81,1)','#6A0EBF'],\n+\t['#808000','rgba(128,128,0,','rgba(52,17,81,1)','#66660A'],\n+\t['#00FFFF','rgba(0,255,255,','rgba(52,17,81,1)','#1DCBCB'],\n+\t['#FF00FF','rgba(255,0,255,','rgba(52,17,81,1)','#A009A0'],\n+\t['#00FF00','rgba(0,255,0,','rgba(52,17,81,1)','#20AB20'],\n+\t['#000080','rgba(0,0,128,','rgba(255,0,0,1)','#13135B'],\n+\t['#F08080','rgba(240,128,128,','rgba(52,17,81,1)','#922626'],\n+\t['#800080','rgba(128,0,128,','rgba(255,0,0,1)','#580B58'],\n+\t['#F0E68C','rgba(240,230,140,','rgba(52,17,81,1)','#F0C08C'],\n+\t['#8FBC8F','rgba(143,188,143,','rgba(52,17,81,1)','#668166'],\n+\t['#2F4F4F','rgba(47,79,79,','rgba(52,17,81,1)','#0E3636'],\n+\t['#008080','rgba(0,128,128,','rgba(52,17,81,1)','#095454'],\n+\t['#9932CC','rgba(153,50,204,','rgba(52,17,81,1)','#78289F'],\n+\t['#FF7F50','rgba(255,127,80,','rgba(52,17,81,1)','#B0431A'],\n+\t['#FFD700','rgba(255,215,0,','rgba(52,17,81,1)','#FFB900'],\n+\t['#008B8B','rgba(0,139,139,','rgba(52,17,81,1)','#097171'],\n+\t['#800000','rgba(128,0,0,','rgba(255,0,0,1)','#500303'],\n+\t['#5F9EA0','rgba(95,158,160,','rgba(52,17,81,1)','#366668'],\n+\t['#FFC0CB','rgba(255,192,203,','rgba(52,17,81,1)','#FC869B'],\n+\t['#545454','rgba(84,84,84,','rgba(255,0,0,1)','#342C2C'],\n+\t['#7FFFD4','rgba(127,255,212,','rgba(255,0,0,1)','#8CCAB5'],\n+\t['#ADD8E6','rgba(173,216,230,','rgba(52,17,81,1)','#77C6DF'],\n+\t['#DB7093','rgba(219,112,147,','rgba(52,17,81,1)','#B24B6D'],\n+\t['#CD853F','rgba(205,133,63,','rgba(52,17,81,1)','#BA6D22'],\n+\t['#4169E1','rgba(65,105,225,','rgba(52,17,81,1)','#1840B8'],\n+\t['#708090','rgba(112,128,144,','rgba(52,17,81,1)','#465A6D'],\n+\t['#4682B4','rgba(70,130,180,','rgba(52,17,81,1)','#1F5785'],\n+\t['#D8BFD8','rgba(216,191,216,','rgba(52,17,81,1)','#B679B6'],\n+\t['#F5DEB3','rgba(245,222,179,','rgba(52,17,81,1)','#E9AB3F'],\n+\t['#9ACD32','rgba(154,205,50,','rgba(52,17,81,1)','#6E971B'],\n+\t['#BDB76B','rgba(189,183,107,','rgba(52,17,81,1)','#938E49'],\n+\t['#8B008B','rgba(139,0,139,','rgba(255,0,0,1)','#590A59'],\n+\t['#556B2F','rgba(85,107,47,','rgba(52,17,81,1)','#3A4D19'],\n+\t['#00CED1','rgba(0,206,209,','rgba(52,17,81,1)','#1BA0A2'],\n+\t['#FF1493','rgba(255,20,147,','rgba(52,17,81,1)','#A40F5F']\n+],[\n+\t//cris\n+ ['#000000','rgba(0,0,0,','rgba(52,17,81,1)','#111111'],\n+\t['#5B1A48','rgba(91,26,72,','rgba(255,0,0,1)','#922B74'],\n+\t['#1ED992','rgba(30,217,146,','rgba(52,17,81,1)','#108A5B'],\n+\t['#FFE4FF','rgba(255,228,255,','rgba(52,17,81,1)','#FF9AFF'],\n+\t['#3B2000','rgba(59,32,0,','rgba(255,0,0,1)','#8C4D02'],\n+\t['#BDF765','rgba(189,247,101,','rgba(52,17,81,1)','#83b438'],\n+\t['#C6DCFD','rgba(198,220,253,','rgba(52,17,81,1)','#70A9FE'],\n+\t['#542788','rgba(84,39,136,','rgba(255,0,0,1)','#8055B2'],\n+\t['#FB8072','rgba(251,128,114,','rgba(52,17,81,1)','#D55446'],\n+\t['#F2E0B8','rgba(242,224,184,','rgba(52,17,81,1)','#F9C146'],\n+\t['#0A684C','rgba(10,104,76,','rgba(52,17,81,1)','#27B88D'],\n+\t['#FD8ADC','rgba(253,138,220,','rgba(52,17,81,1)','#CB3AA2'],\n+\t['#CDFAFF','rgba(205,250,255,','rgba(52,17,81,1)','#66EDFC'],\n+\t['#0C1657','rgba(12,22,87,','rgba(255,0,0,1)','#3243B6'],\n+\t['#FFDE69','rgba(255,222,105,','rgba(52,17,81,1)','#CFAD34'],\n+\t['#BEBADA','rgba(190,186,218,','rgb"..b",1)','#28785D'],\n+\t['#6DB388','rgba(109,179,136,','rgba(52,17,81,1)','#348252'],\n+\t['#76B67D','rgba(118,182,125,','rgba(52,17,81,1)','#388340'],\n+\t['#7FB972','rgba(127,185,114,','rgba(52,17,81,1)','#448635'],\n+\t['#88BB69','rgba(136,187,105,','rgba(52,17,81,1)','#518730'],\n+\t['#92BD60','rgba(146,189,96,','rgba(52,17,81,1)','#62902D'],\n+\t['#9CBE59','rgba(156,190,89,','rgba(52,17,81,1)','#6D9028'],\n+\t['#A7BE53','rgba(167,190,83,','rgba(52,17,81,1)','#70871D'],\n+\t['#B1BE49','rgba(177,190,78,','rgba(52,17,81,1)','#7C8919'],\n+\t['#BABC49','rgba(186,188,73,','rgba(52,17,81,1)','#87891B'],\n+\t['#C3BA45','rgba(195,186,69,','rgba(52,17,81,1)','#928917'],\n+\t['#CCB742','rgba(204,183,66,','rgba(52,17,81,1)','#AC9516'],\n+\t['#D3B33F','rgba(211,179,63,','rgba(52,17,81,1)','#A78713'],\n+\t['#DAAD3C','rgba(218,173,60,','rgba(52,17,81,1)','#AB7E0D'],\n+\t['#DFA539','rgba(223,165,57,','rgba(52,17,81,1)','#B17609'],\n+\t['#E39C37','rgba(227,156,55,','rgba(52,17,81,1)','#BB730D'],\n+\t['#E59134','rgba(229,145,52,','rgba(52,17,81,1)','#B16006'],\n+\t['#E78432','rgba(231,132,50,','rgba(52,17,81,1)','#B45404'],\n+\t['#E7752F','rgba(231,117,47,','rgba(52,17,81,1)','#763703'],\n+\t['#E6652D','rgba(230,101,45,','rgba(52,17,81,1)','#AD3906'],\n+\t['#E4542A','rgba(228,84,42,','rgba(52,17,81,1)','#AE2A04'],\n+\t['#E14326','rgba(225,67,38,','rgba(52,17,81,1)','#AD1E04'],\n+\t['#DD3123','rgba(221,49,35,','rgba(52,17,81,1)','#A11105'],\n+\t['#D92120','rgba(217,33,32,','rgba(52,17,81,1)','#8A0201']\n+],[\n+// Rainbow\n+ ['#000000','rgba(0,0,0,','rgba(52,17,81,1)','#111111'],\n+\t['#FF0000','rgba(255,0,0,','rgba(52,17,81,1)','#C30707'],\n+\t['#FF2600','rgba(255,38,0,','rgba(52,17,81,1)','#BA250B'],\n+\t['#FF4D00','rgba(255,77,0,','rgba(52,17,81,1)','#BD3A02'],\n+\t['#FF7300','rgba(255,115,0,','rgba(52,17,81,1)','#C15B06'],\n+\t['#FF9900','rgba(255,153,0,','rgba(52,17,81,1)','#BF7504'],\n+\t['#FFBF00','rgba(255,191,0,','rgba(52,17,81,1)','#C49405'],\n+\t['#FFE500','rgba(255,229,0,','rgba(52,17,81,1)','#BEAB01'],\n+\t['#F2FF00','rgba(242,255,0,','rgba(52,17,81,1)','#B3BD03'],\n+\t['#CCFF00','rgba(204,255,0,','rgba(52,17,81,1)','#93B607'],\n+\t['#A6FF00','rgba(166,255,0,','rgba(52,17,81,1)','#7BBB05'],\n+\t['#80FF00','rgba(128,255,0,','rgba(52,17,81,1)','#59AC05'],\n+\t['#59FF00','rgba(89,255,0,','rgba(52,17,81,1)','#3DAD01'],\n+\t['#33FF00','rgba(51,255,0,','rgba(52,17,81,1)','#24B001'],\n+\t['#0DFF00','rgba(13,255,0,','rgba(52,17,81,1)','#0CAA03'],\n+\t['#00FF1A','rgba(0,255,26,','rgba(52,17,81,1)','#03AC14'],\n+\t['#00FF40','rgba(0,255,64,','rgba(52,17,81,1)','#02AB2C'],\n+\t['#00FF66','rgba(0,255,102,','rgba(52,17,81,1)','#01AD46'],\n+\t['#00FF8C','rgba(0,255,140,','rgba(52,17,81,1)','#06B466'],\n+\t['#00FFB3','rgba(0,255,179,','rgba(52,17,81,1)','#01AB79'],\n+\t['#00FFD9','rgba(0,255,217,','rgba(52,17,81,1)','#02B399'],\n+\t['#00FFFF','rgba(0,255,255,','rgba(52,17,81,1)','#04AEAE'],\n+\t['#00D9FF','rgba(0,217,255,','rgba(52,17,81,1)','#0496B0'],\n+\t['#00B2FF','rgba(0,178,255,','rgba(52,17,81,1)','#0272A3'],\n+\t['#008CFF','rgba(0,140,255,','rgba(255,0,0,1)','#00569D'],\n+\t['#0068FF','rgba(0,102,255,','rgba(255,0,0,1)','#044AAE'],\n+\t['#0040FF','rgba(0,64,255,','rgba(255,0,0,1)','#032894'],\n+\t['#0019FF','rgba(0,25,255,','rgba(255,0,0,1)','#01109C'],\n+\t['#0D00FF','rgba(13,0,255,','rgba(255,0,0,1)','#0B03A7'],\n+\t['#3300FF','rgba(51,0,255,','rgba(255,0,0,1)','#2403A7'],\n+\t['#5900FF','rgba(89,0,255,','rgba(255,0,0,1)','#3E04AA'],\n+\t['#8000FF','rgba(128,0,255,','rgba(255,0,0,1)','#5302A4'],\n+\t['#A600FF','rgba(166,0,255,','rgba(255,0,0,1)','#6F03A9'],\n+\t['#CC00FF','rgba(204,0,255,','rgba(255,0,0,1)','#8A04AC'],\n+\t['#F200FF','rgba(242,0,255,','rgba(52,17,81,1)','#9D03A5'],\n+\t['#FF00E5','rgba(255,0,229,','rgba(52,17,81,1)','#B607A4'],\n+\t['#FF00BF','rgba(255,0,191,','rgba(52,17,81,1)','#B40588'],\n+\t['#FF0099','rgba(255,0,153,','rgba(52,17,81,1)','#B4016D'],\n+\t['#FF0073','rgba(255,0,115,','rgba(52,17,81,1)','#A9024D'],\n+\t['#FF004C','rgba(255,0,76,','rgba(52,17,81,1)','#A90335'],\n+\t['#FF0026','rgba(255,0,38,','rgba(52,17,81,1)','#A6051D']\n+]];\n" |
b |
diff -r bca68066a957 -r a64ece32a01a js/crossSamplePlots.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/crossSamplePlots.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,263 @@\n+// Copyright (c) 2016 Northrop Grumman.\n+// All rights reserved.\n+var updateCSplots = function(plotconfig){\n+ plotconfig.selectedPopulations = [];\n+ $(plotconfig.popSelectj).each(function() {\n+ if (this.checked) {\n+ plotconfig.selectedPopulations.push(parseInt(this.value));\n+ }\n+ });\n+ if (plotconfig.hasOwnProperty("mtable")) {\n+ // Update selected markers?\n+ plotconfig.selectedMarkers = [];\n+ $(plotconfig.mrkrSelectj).each(function() {\n+ if (this.checked) {\n+ plotconfig.selectedMarkers.push(parseInt(this.value));\n+ }\n+ });\n+ // update plot\n+ updateBoxplot(plotconfig);\n+ } else {\n+ updatePlot(plotconfig);\n+ }\n+};\n+\n+var displayPopulationLegend = function(plotconfig) {\n+ $(plotconfig.table).empty();\n+ plotconfig.allPopulations.map(function(value,index) {\n+ $(plotconfig.table).append(\'<tr><td align="center">\'\n+ + \'<input type="checkbox" checked class=\' + plotconfig.popSelect\n+ + \' value=\' + value + \'/></td><td title="\' + newPopNames[value] + \'">\'\n+ + newPopNames[value] + \'</td><td><span style="background-color:\'\n+ + color_palette[0][value][0] + \'"> </span></td></tr>\');\n+ });\n+\n+ $(plotconfig.popSelectAll).click(function() {\n+ var checkAll = $(plotconfig.popSelectAll).prop(\'checked\');\n+ if (checkAll) {\n+ $(plotconfig.popSelectj).prop("checked", true);\n+ } else {\n+ $(plotconfig.popSelectj).prop("checked", false);\n+ }\n+ updateCSplots(plotconfig);\n+ });\n+\n+ $(plotconfig.popSelectj).click(function() {\n+ if ($(plotconfig.popSelectj).length == $(plotconfig.popSelectCheck).length) {\n+ $(plotconfig.popSelectAll).prop("checked",true);\n+ } else {\n+ $(plotconfig.popSelectAll).prop("checked",false);\n+ }\n+ updateCSplots(plotconfig);\n+ });\n+\n+ $(plotconfig.popSelectj).each(function() {\n+ var selectedpopn = parseInt(this.value);\n+ if ($.inArray(selectedpopn,plotconfig.selectedPopulations) > -1) {\n+ this.checked = true;\n+ } else {\n+ this.checked = false;\n+ }\n+ });\n+};\n+\n+var displayToolbar = function(plotconfig){\n+ $(plotconfig.displaybutton).on("click",function() {\n+ $(plotconfig.popSelectj).prop("checked", true);\n+ $(plotconfig.popSelectAll).prop("checked", true);\n+ if (plotconfig.hasOwnProperty("mtable")){\n+ $(plotconfig.displayMFI).prop("checked", false);\n+ $(plotconfig.displayvalues).prop("checked", false);\n+ $(plotconfig.mrkrSelectj).prop("checked", true);\n+ $(plotconfig.mrkrSelectAll).prop("checked",true);\n+ }\n+ updateCSplots(plotconfig);\n+ });\n+\n+ if (plotconfig.hasOwnProperty("mtable")){\n+ $(plotconfig.displayMFI).on("click", function(){\n+ updateCSplots(plotconfig);\n+ });\n+ $(plotconfig.displayvalues).on("click", function(){\n+ updateCSplots(plotconfig);\n+ });\n+ }\n+ $(plotconfig.toggledisplayj).on("click",function() {\n+ plotconfig.selectedPopulations = [];\n+ $(plotconfig.popSelectj).each(function() {\n+ if (this.checked) {\n+ plotconfig.selectedPopulations.push(parseInt(this.value));\n+ }\n+ })\n+ if (plotconfig.hasOwnProperty("mtable")){\n+ plotconfig.selectedMarkers = [];\n+ $(plotconfig.mrkrSelectj).each(function() {\n+ if (this.checked) {\n+ plotconfig.selectedMarkers.push(parseInt(this.value));\n+ }\n+ });\n+ var text = document.getElementById(plotconfig.toggledisplay).firstChild;\n+ text.data = text.data == "View per marker" ? "View per population" : "View per marker";\n+ plotconfig.view = plotconfig.view == "p" ? "m" : "p";\n+ updateBoxplot(plotconfig);\n+ } else {\n+ var imgSrc = document.getElementById(plotconfig.toggledisplay);\n+ imgSrc.src = imgSrc.src.endsWith("stackedsm.png") ? "/static/images/flowtools/barssm.png" : "/static/images/flowtools/stackedsm.png";\n+ plotconfig.type = plotconfig.type == "barplot" ? "areaplot" : "barplot";\n+ updatePlot(plotconfig);\n+ }\n+ });\n+ d'..b'rNames.length; i < nbMarkers; i++) {\n+ plotconfig.allMarkers.push(i);\n+ plotconfig.selectedMarkers.push(i);\n+ }\n+ } else {\n+ var nbPop = plotconfig.csdata[0].length;\n+ }\n+\n+ for (var i = 2; i < nbPop; i++) {\n+ plotconfig.allPopulations.push(i - 1);\n+ plotconfig.selectedPopulations.push(i - 1);\n+ }\n+\n+ $(window).on(\'resize\',function() {\n+ waitForFinalEvent(function() {\n+ if (plotconfig.hasOwnProperty("mtable")){\n+ updateBoxplot(plotconfig);\n+ } else {\n+ updatePlot(plotconfig);\n+ }\n+ }, 500, "resizePlot");\n+ });\n+\n+ displayPopulationLegend(plotconfig);\n+ if (plotconfig.hasOwnProperty("mtable")){\n+ displayMarkerTable(plotconfig);\n+ updateBoxplot(plotconfig);\n+ } else {\n+ updatePlot(plotconfig);\n+ }\n+};\n+\n+var updatePlot = function(plotconfig) {\n+ var h = $(window).height() - 200,\n+ traces = [],\n+ tmptraces = [],\n+ x_values = [],\n+ totals = [];\n+ layout = {};\n+\n+ $(plotconfig.plotdivj).empty();\n+ $(plotconfig.plotdivj).height(h);\n+ for (var i = 1, j = plotconfig.csdata.length; i < j; i++) {\n+ x_values.push(newSmpNames[plotconfig.csdata[i][1]]);\n+ }\n+\n+ for (var k = 1, i = plotconfig.csdata.length; k < i; k++){\n+ totals[k] = 0;\n+ for (var m = 2, o = plotconfig.csdata[0].length; m < o; m++){\n+ for (var n = 0, p = plotconfig.selectedPopulations.length; n < p; n++){\n+ if (plotconfig.csdata[0][m] === plotconfig.selectedPopulations[n]) {\n+ totals[k] += plotconfig.csdata[k][m];\n+ }\n+ }\n+ }\n+ }\n+\n+ for (var i = 0, ii = plotconfig.selectedPopulations.length; i < ii; i++) {\n+ pop = plotconfig.selectedPopulations[i];\n+ var popName = "Pop " + pop;\n+ var y_values = [];\n+ var obj;\n+\n+ for (var j = 1, jj = plotconfig.csdata.length; j < jj; j++) {\n+ var newvalue = (plotconfig.csdata[j][pop + 1] / totals[j]) * 100;\n+ y_values.push(newvalue);\n+ }\n+ if (plotconfig.type === "areaplot") {\n+ obj = {\n+ x: x_values,\n+ y: y_values,\n+ hoverinfo: "x",\n+ name: popName,\n+ type: \'area\',\n+ fill: \'tonexty\',\n+ marker: {color: color_palette[0][pop][0]}\n+ };\n+ }\n+ if (plotconfig.type === "barplot") {\n+ obj = {\n+ x: x_values,\n+ y: y_values,\n+ hoverinfo: "x",\n+ name: popName,\n+ type: \'bar\',\n+ marker: {color: color_palette[0][pop][0]}\n+ };\n+ }\n+ tmptraces.push(obj)\n+ }\n+\n+ if (plotconfig.type === "barplot") {\n+ layout = {\n+ hovermode:\'closest\',\n+ title: \'\',\n+ barmode: \'stack\',\n+ showlegend: false,\n+ yaxis: {\n+ mirror: \'all\',\n+ tickmode: \'array\',\n+ ticktext: ["","20%", "40%", "60%", "80%", "100%"],\n+ tickvals: [0,20,40,60,80,100],\n+ title: \'Populations proportions in selected set\',\n+ titlefont: {\n+ size: 16,\n+ color: \'grey\'\n+ }\n+ }\n+ };\n+ traces = tmptraces;\n+ }\n+ if (plotconfig.type === "areaplot") {\n+ function stacked(trcs) {\n+ for(var i=1; i<trcs.length; i++) {\n+ for(var j=0; j<(Math.min(trcs[i][\'y\'].length, trcs[i-1][\'y\'].length)); j++) {\n+ trcs[i][\'y\'][j] += trcs[i-1][\'y\'][j];\n+ }\n+ }\n+ return trcs;\n+ }\n+ layout = {\n+ title: \'\',\n+ showlegend: false,\n+ yaxis: {\n+ mirror: \'all\',\n+ tickmode: \'array\',\n+ ticktext: ["","20%", "40%", "60%", "80%", "100%"],\n+ tickvals: [0,20,40,60,80,100],\n+ title: \'Populations proportions in selected set\',\n+ titlefont: {\n+ size: 16,\n+ color: \'grey\'\n+ }\n+ },\n+ xaxis: {\n+ autorange: false,\n+ range: [-0.2, x_values.length - 0.8]\n+ }\n+ };\n+ traces = stacked(tmptraces);\n+ }\n+ Plotly.newPlot(plotconfig.plotdiv,traces,layout);\n+};\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/csOverview.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/csOverview.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
@@ -0,0 +1,250 @@ +// Copyright (c) 2016 Northrop Grumman. +// All rights reserved. + +var url = "./csOverview.tsv", + boxplotUrl = "./csBoxplotData.json", + pctablecontent, + newSmpNames= {}, + newPopNames = {}, + configBoxplot = {}, + configAreaplot = {}; + +var waitForFinalEvent = (function () { + var timers = {}; + return function (callback, ms, uniqueId) { + if (!uniqueId) { + uniqueId = "Don't call this twice without a uniqueId"; + } + if (timers[uniqueId]) { + clearTimeout (timers[uniqueId]); + } + timers[uniqueId] = setTimeout(callback, ms); + }; +})(); + +var preprocess = function(text){ + var crossSampleData = d3.tsv.parseRows(text).map(function(row) { + return row.map(function(value) { + if (isNaN(value)) { + return value; + } + return +value; + }) + }) + return crossSampleData; +}; + +var displayProp = function() { + d3.text(url, function(error, data) { + var fileID = [], + sampleNames = [], + popTableData = [], + propHeadings = [], + propTableData = [], + propTableHeadings = [], + propTargets = [], + popTableHeadings = [], + propEditorData = [], + popEditorData = [], + smpcol = 2, + propHTML = '<table id="proptable" class="dtable display compact nowrap" cellspacing="0" width="100%"/>', + popHTML = '<table id="popnamestable" class="popt dtable display nowrap compact" cellspacing="0" width="100%"/>'; + + if (error) { + alert("Problem retrieving data"); + return; + } + propHeadings = data.split("\n")[0].split("\t"); + propHeadings.unshift("Comment"); + data = d3.tsv.parse(data); + function propHandle(method, url, d, successCallBack, errorCallBack) { + var output = {data : propTableData}; + successCallBack(output); + } + + function popHandle(method, url, d, successCallBack, errorCallBack) { + var output = {data : popTableData}; + successCallBack(output); + } + + propTableData = $.extend(true,[],data); + propTableData.forEach(function(d) { + d.Comment = d.SampleName; + newSmpNames[d.SampleName] = d.Comment; + fileID.push(d.FileID); + sampleNames.push(d.SampleName); + }); + + for (var i = 3, j = propHeadings.length; i < j; i++){ + propTargets.push(i); + } + propHeadings.forEach(function(d) { + propTableHeadings.push({"data":d, "title":d}); + propEditorData.push({"label":d,"name":d}); + if (d != 'Comment' && d != 'SampleName' && d != "FileID") { + newPopNames[d] = d.toString(); + popTableHeadings.push({"data":d, "title":d}); + popEditorData.push({"label":d,"name":d}); + } + }); + popTableData.push(newPopNames); + pctablecontent = $.extend(true,[],propTableData); + + $('#propDiv').empty(); + $('#propDiv').html(propHTML); + var smpEditor = new $.fn.dataTable.Editor({ + ajax: propHandle, + table: '#proptable', + fields: propEditorData, + idSrc: 'SampleName' + }); + + $('#proptable').on( 'click', 'tbody td:first-child', function (e) { + smpEditor.bubble( this ); + }); + var propTable = $('#proptable').DataTable({ + columns: propTableHeadings, + data: propTableData, + order: [[ smpcol, "asc" ]], + pageLength: 10, + scrollX: true, + scrollCollapse: true, + dom: '<"top"Bi>t<"bottom"lp><"clear">', + columnDefs: [{ + targets: propTargets, + className: "dt-body-right", + render: function(data, type, row){ + return parseFloat(data).toFixed(2) + '%'; + } + }, { + targets: [smpcol - 1, smpcol, smpcol + 1], + className: "dt-body-left", + }], + buttons: [ + 'copy', 'pdfHtml5','csvHtml5', 'colvis' + ], + colReorder: { + fixedColumnsLeft:1 + }, + select: true + }); + + // Add titles to File ID and Sample Name + $('#proptable tr').each(function(i,d){ + if (i > 0) { + $(this).find('td').each(function(j,e){ + if (j == 1 ) { + $(this).prop('title', fileID[i - 1] ); + } + if (j == 2) { + $(this).prop('title', sampleNames[i - 1]); + } + }); + } + }); + + // Add a table below to rename pops + // Might want to change that some other time? + $('#popnamesDiv').html(popHTML); + var popEditor = new $.fn.dataTable.Editor({ + ajax: popHandle, + table: '#popnamestable', + fields: popEditorData, + idSrc: '1' + }); + + $('#popnamestable').on( 'click', 'tbody td', function (e) { + popEditor.bubble(this); + }); + var popTable = $('#popnamestable').DataTable({ + columns: popTableHeadings, + dom: 't', + select: true, + data: popTableData + }); + + smpEditor.on( 'preSubmit', function(e, object, action){ + var data = object.data; + var key = Object.keys(data)[0]; + var count = object.data[key]['Comment']; + + propTableData.forEach(function(d){ + if (d.SampleName === key) { + d.Comment = count; + newSmpNames[key] = count; + } + }); + pctablecontent = $.extend(true, [], propTableData); + }); + popEditor.on( 'preSubmit', function(e, object, action){ + var data = object.data; + var key = Object.keys(data['1'])[0]; + var count = object.data['1'][key]; + popTableData[0][key] = count; + newPopNames[key] = count; + }); + }); +}; + +var displayStackedAreaPlot = function() { + $.ajax({ + url: url, + dataType: "text", + success: function(text) { + configAreaplot = { + displaybutton : '#updateDisplayA', + popSelectj : '.popSelectA', + plotdivj : '#plotDivA', + toggledisplayj : '#togglePlot', + toggledisplay : 'toggleButtonImg', + csdata : preprocess(text), + plotdiv : 'plotDivA', + type : 'areaplot', + table : '#popTableA tbody', + popSelect : 'popSelectA', + allPopulations : [], + selectedPopulations : [], + popSelectAll : '#popSelectAllA', + popSelectCheck : '.popSelectA:checked' + }; + displayToolbar(configAreaplot); + } + }); +}; + +var displayBoxplot = function() { + $.ajax({ + url: boxplotUrl, + dataType: "json", + success: function(data) { + configBoxplot = { + displaybutton : '#updateDisplayC', + toggledisplayj : '#changeDisplayC', + toggledisplay : 'changeDisplayC', + popSelectj : '.popSelectC', + plotdivj : '#plotDivC', + csdata : data, + plotdiv : 'plotDivC', + type : 'boxplot', + table : '#popTableC tbody', + popSelect : 'popSelectC', + allMarkers : [], + selectedMarkers: [], + allPopulations : [], + selectedPopulations : [], + popSelectAll : '#popSelectAllC', + popSelectCheck: '.popSelectC:checked', + mrkrSelectAll : '#mrkrSelectAllC', + mrkrSelectCheck: '.mrkrSelectC:checked', + mrkrSelect : 'mrkrSelectC', + mtable : '#mrkrTableC tbody', + mrkrSelectj: '.mrkrSelectC', + displayvalues: '#displayLabelsC', + displayMFI: '#displayMFIC', + view: 'p', + mrkrNames : Object.keys(data.mfi) + }; + displayToolbar(configBoxplot); + } + }); +}; |
b |
diff -r bca68066a957 -r a64ece32a01a js/pCoordCSstats.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/pCoordCSstats.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,418 @@\n+// Copyright (c) 2016 Northrop Grumman.\n+// All rights reserved.\n+\n+/*\n+ * Initialize variables for parallelCoordinates display\n+*/\n+var pcApp = pcApp || {};\n+\n+pcApp.allSamples = [];\n+pcApp.selectedSamples = [];\n+pcApp.origData;\n+pcApp.flowData;\n+pcApp.updatedData;\n+pcApp.headers = [];\n+pcApp.foreground;\n+pcApp.background;\n+\n+var displayAll = function() {\n+ displayParallelPlot();\n+}\n+/*\n+ * Display the Population Legend\n+*/\n+var displaySmpTable = function() {\n+ $(\'#popTablePC tbody\').empty();\n+ pcApp.origData.map(function(d) {\n+ $(\'#popTablePC tbody\').append(\'<tr><td align="center">\'\n+ + \'<input type="checkbox" id="\' + d.SampleName + \'" \'\n+ + \'checked class="popSelectPC" value=\'\n+ + d.SampleNumber + \'/></td><td title="\' + newSmpNames[d.SampleName]\n+ + \'">\' + newSmpNames[d.SampleName]\n+ + \'</td><td><span style="background-color:\'\n+ + color_palette[0][d.SampleNumber + 1][0]\n+ + \'"> </span></td></tr>\');\n+ });\n+\n+ $(\'#popSelectAllPC\').click(function() {\n+ var checkAll = $("#popSelectAllPC").prop(\'checked\');\n+ if (checkAll) {\n+ $(".popSelectPC").prop("checked", true);\n+ } else {\n+ $(".popSelectPC").prop("checked", false);\n+ }\n+ pcApp.selectedSamples = [];\n+ $(\'.popSelectPC\').each(function() {\n+ if (this.checked) {\n+ pcApp.selectedSamples.push(parseInt(this.value));\n+ }\n+ })\n+ displayTableGrid();\n+ if (checkAll) {\n+ displayParallelPlot();\n+ } else {\n+ updateParallelForeground();\n+ }\n+ });\n+\n+ $(\'.popSelectPC\').click(function() {\n+ if ($(\'.popSelectPC\').length == $(".popSelectPC:checked").length) {\n+ $(\'#popSelectAllPC\').prop("checked",true);\n+ } else {\n+ $(\'#popSelectAllPC\').prop("checked",false);\n+ }\n+ pcApp.selectedSamples = [];\n+ $(\'.popSelectPC\').each(function() {\n+ if (this.checked) {\n+ pcApp.selectedSamples.push(parseInt(this.value));\n+ }\n+ })\n+ displayTableGrid();\n+ updateParallelForeground();\n+ });\n+ updateSmpTable();\n+};\n+\n+var updateSmpTable = function() {\n+ $(\'.popSelectPC\').each(function() {\n+ var smp = parseInt(this.value);\n+ if ($.inArray(smp,pcApp.selectedSamples) > -1) {\n+ this.checked = true;\n+ } else {\n+ this.checked = false;\n+ }\n+ })\n+}\n+\n+var displayTableGrid = function() {\n+ var colTable = [],\n+ colNames = [],\n+ pctargets = [],\n+ updatedHeaders = [],\n+ displayData = [],\n+ targetCol = 0,\n+ textCol = [],\n+ colOrder = [],\n+ tableHTML = [];\n+\n+ $("#tableDivPC").empty();\n+ pcApp.updatedData = $.extend(true,[],pctablecontent);\n+ pcApp.updatedData.forEach(function(d, idx){\n+ d.SampleName = idx + 1;\n+ delete(d.FileID);\n+ });\n+\n+ updatedHeaders = Object.keys(pcApp.updatedData[0]);\n+ displayData = pcApp.updatedData.filter(function(d,i) {\n+ if ($.inArray(i,pcApp.selectedSamples) > -1) {\n+ return d;\n+ }\n+ });\n+\n+ targetCol = updatedHeaders.length - 2;\n+ updatedHeaders.forEach(function(d,i){\n+ colTable.push("<th>" + d + "</th>");\n+ colNames.push({"data":d});\n+ if (i < targetCol){\n+ pctargets.push(i);\n+ }\n+ });\n+ textCol = [targetCol, targetCol + 1];\n+ colOrder = textCol.concat(pctargets);\n+ tableHTML = [\n+ \'<table id="pcTable" class="pctable display compact nowrap" cellspacing="0" width="100%">\',\n+ \'<thead>\',\n+ \'<tr>\',\n+ colTable.join("\\n"),\n+ \'</tr>\',\n+ \'</thead>\',\n+ \'</table>\',\n+ ];\n+\n+ $(\'#tableDivPC\').html(tableHTML.join("\\n"));\n+ var pcTable = $(\'#pcTable\').DataTable({\n+ columns: colNames,\n+ data: displayData,\n+ order: [[ targetCol, "asc" ]],\n+ pageLength: 10,\n+ //paging: false,\n+ scrollY: 250,\n+ scrollCollapse: true,\n+ scrollX: true,\n+ dom: \'<"top"B>t<"bottom"lip><"clear">\',\n+ columnDefs: [{\n+ targets: pctargets,\n+ className: "dt-body-right",\n+ render: function(data,type,row){\n+ '..b'ter().append("g")\n+ .attr("class", "dimension")\n+ .attr("transform", function(d) { return "translate(" + x(d) + ")"; })\n+ .call(d3.behavior.drag()\n+ .origin(function(d) { return {x: x(d)}; })\n+ .on("dragstart", function(d) {\n+ dragging[d] = x(d);\n+ pcApp.background.attr("visibility", "hidden");})\n+ .on("drag", function(d) {\n+ dragging[d] = Math.min(width, Math.max(0, d3.event.x));\n+ pcApp.foreground.attr("d", path);\n+ dimensions.sort(function(a, b) { return position(a) - position(b); });\n+ x.domain(dimensions);\n+ g.attr("transform", function(d) { return "translate(" + position(d) + ")"; }); })\n+ .on("dragend", function(d) {\n+ delete dragging[d];\n+ transition(d3.select(this)).attr("transform", "translate(" + x(d) + ")");\n+ transition(pcApp.foreground).attr("d", path);\n+ pcApp.background\n+ .attr("d", path)\n+ .transition()\n+ .delay(500)\n+ .duration(0)\n+ .attr("visibility", null);\n+ }));\n+\n+ // Add an axis and title.\n+ g.append("g")\n+ .attr("class", "axis")\n+ .each(function(d) { d3.select(this).call(axis.scale(y[d])); });\n+ g.append("g")\n+ .attr("class", "xlabel")\n+ .append("text")\n+ .style("text-anchor", "middle")\n+ .attr("y", -9)\n+ .text(function(d) { return d; });\n+\n+ // Add and store a brush for each axis.\n+ g.append("g")\n+ .attr("class", "brush")\n+ .each(function(d) { d3.select(this).call(y[d].brush = d3.svg.brush().y(y[d]).on("brush", brush)); })\n+ .selectAll("rect")\n+ .attr("x", -8)\n+ .attr("width", 16);\n+\n+ // Control line opacity.\n+ $(\'#PCline_opacity\').on(\'change\', (function() {\n+ var val = $(this).val();\n+ $(\'#plotDivPC .foreground path\').css(\'stroke-opacity\', val.toString());\n+ $(\'#pc_opacity\').html((Math.round(val*10000)/100) + "%");\n+ }));\n+};\n+\n+var updateParallelForeground = function() {\n+ pcApp.foreground[0].map(function(d) {\n+ var smp = parseInt(d[\'__data__\'][\'SampleNumber\'])\n+ if ($.inArray(smp,pcApp.selectedSamples) < 0) {\n+ d.style.display = "none";\n+ } else {\n+ d.style.display = null;\n+ }\n+ });\n+};\n+/*\n+ * Retrieve the data, then call display functions\n+*/\n+var displayParallelCoordinates = function() {\n+/* var inputFile = "./csOverview.tsv";\n+ d3.tsv(inputFile, function(error, data) {\n+ if (error) {\n+ alert("Problem Retrieving Data");\n+ return;\n+ }\n+ */\n+ pcApp.origData = $.extend(true,[], pctablecontent);\n+ pcApp.headers = Object.keys(pcApp.origData[0]);\n+ pcApp.headers.splice(pcApp.headers.indexOf("FileID"), 1);\n+ pcApp.origData.forEach(function(d,idx){\n+ d.SampleNumber = idx;\n+// delete d.FileID;\n+ })\n+ /*\n+ * For the plot use only the proportion of each\n+ * population per sample. Store in flowData\n+ */\n+ pcApp.flowData = $.extend(true,[],pctablecontent);\n+ pcApp.flowData.forEach(function(d,idx){\n+ delete d.SampleName;\n+ delete d.FileID;\n+ delete d.Comment;\n+ });\n+ for (var i = 0, j = pcApp.flowData.length; i < j ; i++) {\n+ pcApp.allSamples.push(i);\n+ pcApp.selectedSamples.push(i);\n+ }\n+ displaySmpTable();\n+ displayTableGrid();\n+ displayParallelPlot();\n+\n+ $("#resetPCDisplay").on("click",function() {\n+ var opcty = ".8";\n+ for (var i = 0, j = pcApp.flowData.length; i < j; i++) {\n+ pcApp.allSamples.push(i);\n+ pcApp.selectedSamples.push(i);\n+ }\n+ $("#smpSelectAllPC").prop(\'checked\',true);\n+ $(".smpSelectPC").prop("checked",true);\n+\n+ $(\'#plotDivPC .foreground path\').css(\'stroke-opacity\', opcty);\n+ $(\'#pc_opacity\').html("80%");\n+ $(\'#PCline_opacity\').val(0.8);\n+\n+ displaySmpTable();\n+ displayTableGrid();\n+ displayParallelPlot();\n+ });\n+\n+ $(window).on(\'resize\',function() {\n+ waitForFinalEvent(function() {\n+ displayAll();\n+ }, 500, "resizePC");\n+ });\n+// });\n+};\n' |
b |
diff -r bca68066a957 -r a64ece32a01a js/pCoordMFIstats.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/pCoordMFIstats.js Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,559 @@\n+// Copyright (c) 2016 Northrop Grumman.\n+// All rights reserved.\n+/*\n+ * Initialize variables for parallelCoordinates display\n+*/\n+var pcAppMFI = pcAppMFI || {};\n+\n+pcAppMFI.origData;\n+pcAppMFI.flowData;\n+pcAppMFI.background;\n+pcAppMFI.foreground;\n+pcAppMFI.selectedLines = [];\n+pcAppMFI.selectedPopulations = [];\n+pcAppMFI.selectedSamples = [];\n+pcAppMFI.populations = [];\n+pcAppMFI.samples = [];\n+pcAppMFI.lines = [];\n+pcAppMFI.allLines;\n+pcAppMFI.headers = [];\n+\n+var displayAllm = function() {\n+ displayParallelPlotm();\n+};\n+/*\n+ * Display the Population Legend\n+*/\n+var displayPopTablem = function() {\n+ $(\'#popTablePCm tbody\').empty();\n+ pcAppMFI.populations.map(function(d, index) {\n+ $(\'#popTablePCm tbody\').append(\'<tr><td align="center">\'\n+ + \'<input type="checkbox" \'\n+ + \'id="\'+ d + \'" \'\n+ + \'checked class="popSelectPCm" value=\'\n+ + index + \'/></td><td title="\' + newPopNames[d]\n+ + \'">\' + newPopNames[d]\n+ + \'</td><td><span style="background-color:\'\n+ + color_palette[0][index + 1][0]\n+ + \'"> </span></td></tr>\');\n+ });\n+\n+ $(\'#popSelectAllPCm\').click(function() {\n+ var checkAll = $("#popSelectAllPCm").prop(\'checked\');\n+ if (checkAll) {\n+ $(".popSelectPCm").prop("checked", true);\n+ for (var i = 0; i < pcAppMFI.allLines; i ++) {\n+ pcAppMFI.selectedLines.push(i);\n+ pcAppMFI.lines.push(i);\n+ }\n+ } else {\n+ $(".popSelectPCm").prop("checked", false);\n+ pcAppMFI.selectedLines = [];\n+ pcAppMFI.lines = [];\n+ }\n+\n+ pcAppMFI.selectedPopulations = [];\n+ $(\'.popSelectPCm\').each(function() {\n+ if (this.checked) {\n+ pcAppMFI.selectedPopulations.push(parseInt(this.value));\n+ }\n+ });\n+\n+ displayTableGridm();\n+ if (checkAll) {\n+ displayParallelPlotm();\n+ } else {\n+ updateParallelForegroundidx();\n+ }\n+ });\n+\n+ $(\'.popSelectPCm\').click(function() {\n+ if ($(\'.popSelectPCm\').length == $(".popSelectPCm:checked").length) {\n+ $(\'#popSelectAllPCm\').prop("checked",true);\n+ } else {\n+ $(\'#popSelectAllPCm\').prop("checked",false);\n+ }\n+ pcAppMFI.selectedPopulations = [];\n+ $(\'.popSelectPCm\').each(function() {\n+ if (this.checked) {\n+ pcAppMFI.selectedPopulations.push(parseInt(this.value));\n+ }\n+ });\n+ pcAppMFI.selectedLines = [];\n+ pcAppMFI.lines = [];\n+ pcAppMFI.origData.forEach(function(d,idx){\n+ if ($.inArray(pcAppMFI.populations.indexOf(d.Population), pcAppMFI.selectedPopulations) > -1) {\n+ if ($.inArray(pcAppMFI.samples.indexOf(d.SmpName), pcAppMFI.selectedSamples) > -1){\n+ pcAppMFI.selectedLines.push(idx);\n+ pcAppMFI.lines.push(idx);\n+ }\n+ }\n+ });\n+ displayTableGridm();\n+ updateParallelForegroundidx();\n+ });\n+ updatePopTableidx();\n+ updateSmpTableidx();\n+};\n+\n+var updatePopTableidx = function() {\n+ $(\'.popSelectPCm\').each(function() {\n+ var pop = parseInt(this.value);\n+ var selectedPops = pcAppMFI.origData.map(function(d){\n+ if ($.inArray(d.idx, pcAppMFI.selectedLines) > -1){\n+ return pcAppMFI.populations.indexOf(d.Population);\n+ }\n+ });\n+ if ($.inArray(pop,selectedPops) > -1) {\n+ this.checked = true;\n+ } else {\n+ this.checked = false;\n+ }\n+ });\n+};\n+/*\n+* Display Sample Legend\n+*/\n+var displaySmpTablem = function(){\n+ $(\'#smpTablePCm tbody\').empty();\n+ pcAppMFI.samples.map(function(d, index) {\n+ $(\'#smpTablePCm tbody\').append(\'<tr><td title="\'\n+ + newSmpNames[d] + \'">\' + newSmpNames[d]\n+ + \'</td><td align="center">\' + \'<input type="checkbox" \'\n+ + \'id="\' + d + \'" \' + \'checked class="smpSelectPCm" value=\'\n+ + index + \'></td></tr>\');\n+ });\n+\n+ $(\'#smpSelectAllPCm\').click(function() {\n+ var checkAll = $("#smpSelectAllPCm").prop(\'checked\');\n+ if (checkAll) {\n+ $(".smpSelectPCm").prop("checked", true);\n+ for (var i = 0; i < pcAppMFI.allLines; i ++) {\n'..b'ging[d];\n+ transition(d3.select(this)).attr("transform", "translate(" + x(d) + ")");\n+ transition(pcAppMFI.foreground).attr("d", path);\n+ pcAppMFI.background\n+ .attr("d", path)\n+ .transition()\n+ .delay(500)\n+ .duration(0)\n+ .attr("visibility", null);\n+ }));\n+\n+ // Add an axis and title.\n+ g.append("g")\n+ .attr("class", "axis")\n+ .each(function(d) { d3.select(this).call(axis.scale(y[d])); });\n+ g.append("g")\n+ .attr("class", "xlabel")\n+ .append("text")\n+ .style("text-anchor", "middle")\n+ .attr("y", -9)\n+ .text(function(d) { return d; });\n+\n+ // Add and store a brush for each axis.\n+ g.append("g")\n+ .attr("class", "brush")\n+ .each(function(d) { d3.select(this).call(y[d].brush = d3.svg.brush().y(y[d]).on("brush", brush)); })\n+ .selectAll("rect")\n+ .attr("x", -8)\n+ .attr("width", 16);\n+\n+ // Control line opacity.\n+ $(\'#PCmline_opacity\').on(\'change\', (function() {\n+ var val = $(this).val();\n+ $(\'#plotDivPCm .foreground path\').css(\'stroke-opacity\', val.toString());\n+ $(\'#pcm_opacity\').html((Math.round(val*10000)/100) + "%");\n+ }));\n+};\n+\n+/*\n+ * Retrieve the data, then call display functions\n+*/\n+var displayParallelCoordinatesMFI = function() {\n+ var inputFile = "./csAllMFIs.tsv";\n+ d3.tsv(inputFile, function(error, data) {\n+ var allPops = 0,\n+ allSamples = 0;\n+ if (error) {\n+ alert("Problem Retrieving Data");\n+ return;\n+ }\n+ pcAppMFI.origData = $.extend(true,[],data);\n+ pcAppMFI.headers = Object.keys(pcAppMFI.origData[0]);\n+ pcAppMFI.headers.push("EditedPopName");\n+ pcAppMFI.origData.forEach(function(d,idx) {\n+ d.idx = idx;\n+ d.EditedPopName = d.Population;\n+ d.SmpName = d.SampleName;\n+ pcAppMFI.selectedLines.push(idx);\n+ pcAppMFI.lines.push(idx);\n+ if (!pcAppMFI.populations.includes(d.Population)){\n+ pcAppMFI.populations.push(d.Population);\n+ }\n+ if (!pcAppMFI.samples.includes(d.SmpName)){\n+ pcAppMFI.samples.push(d.SmpName);\n+ }\n+ });\n+ pcAppMFI.populations = pcAppMFI.populations.sort(function(a, b){return a-b});\n+ pcAppMFI.allLines = pcAppMFI.origData.length;\n+\n+ allPops = pcAppMFI.populations.length;\n+ allSamples = pcAppMFI.samples.length;\n+ for (var i = 0; i < allPops; i++) {\n+ pcAppMFI.selectedPopulations.push(i);\n+ }\n+ for (var i = 0; i < allSamples; i++) {\n+ pcAppMFI.selectedSamples.push(i);\n+ }\n+ /*\n+ * For the plot use only the MFI information\n+ * for each populations. Store in flowData\n+ */\n+ pcAppMFI.flowData = $.extend(true,[],data);\n+ pcAppMFI.flowData.forEach(function(d) {\n+ delete d[\'Population\'];\n+ delete d[\'SampleName\'];\n+ delete d[\'Percentage\'];\n+ });\n+\n+ displayPopTablem();\n+ displaySmpTablem();\n+ displayTableGridm();\n+ displayParallelPlotm();\n+\n+ $("#resetDisplayMFIpop").on("click",function() {\n+ var opcty = ".8";\n+ for (var i = 0; i < allPops; i++) {\n+ pcAppMFI.selectedPopulations.push(i);\n+ }\n+ for (var i = 0; i < allSamples; i++) {\n+ pcAppMFI.selectedSamples.push(i);\n+ }\n+ for (var i = 0; i < pcAppMFI.allLines; i++) {\n+ pcAppMFI.selectedLines.push(i);\n+ pcAppMFI.lines.push(i);\n+ }\n+\n+ $("#popSelectAllPCm").prop(\'checked\',true);\n+ $(".popSelectPCm").prop("checked",true);\n+ $("#smpSelectAllPCm").prop(\'checked\',true);\n+ $(".smpSelectPCm").prop("checked",true);\n+\n+ $(\'#plotDivPCm .foreground path\').css(\'stroke-opacity\', opcty);\n+ $(\'#pcm_opacity\').html("80%");\n+ $(\'#PCmline_opacity\').val(0.8);\n+\n+ displayPopTablem();\n+ displaySmpTablem();\n+ displayTableGridm();\n+ displayParallelPlotm();\n+ });\n+\n+ $(window).on(\'resize\',function() {\n+ waitForFinalEvent(function() {\n+ displayAllm();\n+ }, 500, "resizePCm");\n+ });\n+ });\n+};\n' |
b |
diff -r bca68066a957 -r a64ece32a01a templates/csOverview.template --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/csOverview.template Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -0,0 +1,287 @@\n+<!DOCTYPE html>\n+<html>\n+<head lang="en">\n+<title>CrossSample Overview</title>\n+<meta charset="UTF-8">\n+<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">\n+<meta name="viewport" content="width=device-width, initial-scale=1.0">\n+<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"/>\n+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css"/>\n+<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/pdfmake-0.1.18/dt-1.10.12/b-1.2.1/b-colvis-1.2.1/b-html5-1.2.1/cr-1.3.2/fc-3.2.2/fh-3.1.2/r-2.1.0/rr-1.1.2/sc-1.4.2/se-1.2.0/datatables.min.css"/>\n+<link rel="stylesheet" type="text/css" href="js/Editor-1.5.6/css/editor.dataTables.css">\n+<link rel="stylesheet" href="css/parallelCoordinates.css"/>\n+\n+<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>\n+<script type="text/javascript" src="https://cdn.datatables.net/v/dt/pdfmake-0.1.18/dt-1.10.12/b-1.2.1/b-colvis-1.2.1/b-html5-1.2.1/cr-1.3.2/fc-3.2.2/fh-3.1.2/r-2.1.0/rr-1.1.2/sc-1.4.2/se-1.2.0/datatables.min.js"></script>\n+<script src="js/Editor-1.5.6/js/dataTables.editor.js" type="text/javascript"></script>\n+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" type="text/javascript"></script>\n+<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.full.min.js" type="text/javascript"></script>\n+<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" type="text/javascript"></script>\n+<script src="https://cdn.plot.ly/plotly-1.0.0.min.js" type="text/javascript"></script>\n+<script src="js/csOverview.js" type="text/javascript"></script>\n+<script src="js/crossSamplePlots.js" type="text/javascript"></script>\n+<script src="js/pCoordMFIstats.js" type="text/javascript"></script>\n+<script src="js/pCoordCSstats.js" type="text/javascript"></script>\n+<script src="js/color_palette.js" type="text/javascript"></script>\n+<script src="js/boxplots.js" type="text/javascript"></script>\n+\n+<style>\n+#input{font-family:Calibri,Arial}\n+table.dataTable tbody td.dt-body-right {\n+ text-align: right;\n+}\n+#div{padding:5px;width:150px;height:100px;text-align:center}\n+table{width:100%;border:0px solid;border-collapse:collapse;text-align:center;}\n+th{background-color:#3e6db0;color:#fff;padding:5px}\n+</style>\n+</head>\n+\n+<body>\n+<div class="container-fluid">\n+ <div class="row" style="padding-bottom:10px;min-height:500px;">\n+ <div class="col-md-12">\n+ <ul class="nav nav-tabs tabs-main">\n+ <li class="homeTab active" data-value="prop"><a href="#prop" data-toggle="tab">Population Distribution</a></li>\n+ <li class="homeTab" data-value="stackedA"><a href="#stackedA" data-toggle="tab">Stacked Plot</a></li>\n+ <li class="homeTab" data-value="pcoord"><a href="#pcoord" data-toggle="tab">Parallel Coordinates Population Summary</a></li>\n+ <li class="homeTab" data-value="pcoordMFI"><a href="#pcoordMFI" data-toggle="tab">Parallel Coordinates MFI Summary</a></li>\n+ <li class="homeTab" data-value="csstats"><a href="#boxplot" data-toggle="tab">Summary Statistics Boxplots</a></li>\n+ </ul>\n+\n+ <div class="tab-content">\n+ <div class="tab-pane active" id="prop" style="min-height:500px;">\n+ <div class="row">\n+ <div id="propDiv">Population Distribution</div>\n+ </div>\n+ <div class="row">\n+ Edit population names below:\n+ <div id="popnamesDiv"></div>\n+ </div>\n+ </div>\n+\n+ <div class="tab-pane" id="stackedA" style="min-height:500px;">\n+ <div class="col-md-12 chartDiv">\n+ <div id="plotDivA" class="col-md-10" style="height:100%;"></div>\n+\n+ '..b' <input type="checkbox" unchecked id="displayMFIC"/> Display MFI<br><br>\n+ <button id="changeDisplayC" class="igbtn">View per marker</button><br><br>\n+ <div id="markerWarning" style="display:none;">\n+ <div class="alert alert-info alert-dismissible fade in" role="alert">\n+ <button type="button" class="close" data-dismiss="alert" aria-label="Close">\n+ <span aria-hidden="true">×</span></button>\n+ Only 5 markers can be displayed at most.\n+ </div>\n+ </div>\n+\n+ <div id="outlierWarning" style="display:none;">\n+ <div class="alert alert-info alert-dismissible fade in" role="alert">\n+ <button type="button" class="close" data-dismiss="alert" aria-label="Close">\n+ <span aria-hidden="true">×</span></button>\n+ The number of outliers is too large to display. Representation shows randomly downsampled outliers.\n+ </div>\n+ </div>\n+ </div>\n+\n+ <div id="plotDivC" class="col-md-8" style="height:100%;"></div>\n+\n+ <div id="popDivC" class="col-md-2" style="height:100%;">\n+ <button id="updateDisplayC" class="igbtn">Reset Display</button>\n+ <table id="popTableC" class="table table-condensed table-bordered igtable">\n+ <thead>\n+ <tr>\n+ <th><input type="checkbox" checked id="popSelectAllC"/></th>\n+ <th>Pop. Names</th>\n+ <th>Color</th>\n+ </tr>\n+ </thead>\n+ <tbody>\n+ </tbody>\n+ </table>\n+ </div>\n+ </div>\n+ </div>\n+\n+ </div>\n+ </div>\n+ </div>\n+</div>\n+\n+\n+</div>\n+</div>\n+<script>\n+\n+var poppropLoaded = false;\n+var stackedALoaded = false;\n+var pCoordLoaded = false;\n+var pCoordMFILoaded = false;\n+var boxplotLoaded = false;\n+\n+$().ready(function() {\n+ $(document).on(\'shown.bs.tab\',\'a[data-toggle="tab"]\', function(e) {\n+ var tab = e.target.getAttribute("href");\n+ if (tab == \'#prop\') {\n+ if (poppropLoaded) {\n+ return true;\n+ }\n+ poppropLoaded = true;\n+ displayProp();\n+ }\n+ if (tab == \'#stackedA\') {\n+ if (stackedALoaded) {\n+ displayPopulationLegend(configAreaplot);\n+ updatePlot(configAreaplot);\n+ return true;\n+ }\n+ stackedALoaded = true;\n+ displayStackedAreaPlot();\n+ }\n+ if (tab == \'#pcoord\') {\n+ if (pCoordLoaded) {\n+ displaySmpTable();\n+ displayTableGrid();\n+ return true;\n+ }\n+ pCoordLoaded = true;\n+ displayParallelCoordinates();\n+ }\n+ if (tab == \'#pcoordMFI\') {\n+ if (pCoordMFILoaded) {\n+ displayPopTablem();\n+ displaySmpTablem();\n+ displayTableGridm();\n+ return true;\n+ }\n+ pCoordMFILoaded = true;\n+ displayParallelCoordinatesMFI();\n+ }\n+ if (tab == \'#boxplot\') {\n+ if (boxplotLoaded) {\n+ displayPopulationLegend(configBoxplot);\n+ displayMarkerTable(configBoxplot);\n+ updateBoxplot(configBoxplot);\n+ return true;\n+ }\n+ boxplotLoaded = true;\n+ displayBoxplot();\n+ }\n+ });\n+\n+ poppropLoaded = true;\n+ displayProp();\n+});\n+</script>\n+</body>\n+</html>\n' |
b |
diff -r bca68066a957 -r a64ece32a01a test-data/csBoxplotData.json --- a/test-data/csBoxplotData.json Wed May 20 16:04:43 2020 -0400 +++ b/test-data/csBoxplotData.json Tue Jul 28 08:32:36 2020 -0400 |
[ |
b'@@ -1,1 +1,1 @@\n-{"lower": {"CCR3":{"1":-57.5,"2":56.0,"3":294.25,"4":288.5,"5":-76.5,"6":94.0,"7":116.0,"8":342.0,"9":434.875,"10":-57.5,"11":446.5,"12":-64.5,"13":125.5,"14":-74.0,"15":-86.0,"16":-88.375,"17":78.0,"18":58.5,"19":237.625,"20":96.0,"21":-21.0,"22":135.625,"23":251.5,"24":-39.5,"25":60.0,"26":114.0},"CCR7":{"1":37.5,"2":-112.5,"3":-183.75,"4":-114.75,"5":-196.5,"6":-160.625,"7":-20.0,"8":71.5,"9":64.5,"10":-94.5,"11":-126.875,"12":-23.0,"13":135.0,"14":351.5,"15":-202.25,"16":262.875,"17":397.0,"18":39.0,"19":192.625,"20":268.25,"21":94.5,"22":44.375,"23":373.0,"24":-4.75,"25":167.5,"26":200.0},"CD4":{"1":446.0,"2":441.0,"3":434.0,"4":-96.5,"5":-105.5,"6":-79.0,"7":-62.5,"8":449.5,"9":-77.0,"10":442.0,"11":-65.5,"12":-15.25,"13":415.0,"14":430.0,"15":191.0,"16":-57.5,"17":376.25,"18":450.5,"19":249.75,"20":-60.25,"21":25.5,"22":240.875,"23":271.5,"24":277.0,"25":77.5,"26":5.5},"CD8":{"1":-133.5,"2":-183.0,"3":550.5,"4":-141.25,"5":-144.5,"6":504.5,"7":515.0,"8":566.5,"9":-198.5,"10":-151.5,"11":510.0,"12":-57.75,"13":512.5,"14":-196.5,"15":-161.75,"16":-188.875,"17":-205.75,"18":-172.5,"19":117.375,"20":516.0,"21":111.0,"22":53.0,"23":281.0,"24":21.5,"25":161.0,"26":190.5},"FSC":{"1":271.5,"2":260.5,"3":265.0,"4":175.5,"5":207.0,"6":278.5,"7":295.0,"8":287.0,"9":187.875,"10":258.0,"11":286.5,"12":256.5,"13":263.5,"14":278.0,"15":232.25,"16":270.0,"17":261.75,"18":268.0,"19":708.0,"20":297.0,"21":486.5,"22":463.5,"23":326.0,"24":469.0,"25":548.0,"26":748.625},"SSC":{"1":42.0,"2":37.5,"3":42.0,"4":23.5,"5":49.0,"6":38.5,"7":43.5,"8":46.0,"9":21.75,"10":43.0,"11":36.5,"12":2.25,"13":15.5,"14":34.0,"15":1.5,"16":26.5,"17":-25.25,"18":41.0,"19":1023.0,"20":53.0,"21":798.0,"22":186.375,"23":1023.0,"24":178.75,"25":1023.0,"26":1023.0}}, "mfi": {"CCR3":{"1":72,"2":187,"3":483,"4":520,"5":109,"6":251,"7":304,"8":504,"9":641,"10":68,"11":565,"12":161,"13":306,"14":108,"15":110,"16":201,"17":289,"18":195,"19":541,"20":267,"21":173,"22":283,"23":448,"24":132,"25":232,"26":311},"CCR7":{"1":189,"2":37,"3":68,"4":141,"5":67,"6":90,"7":318,"8":257,"9":419,"10":32,"11":111,"12":213,"13":424,"14":566,"15":84,"16":509,"17":598,"18":198,"19":629,"20":534,"21":224,"22":204,"23":476,"24":204,"25":269,"26":343},"CD4":{"1":520,"2":523,"3":512,"4":84,"5":56,"6":75,"7":83,"8":517,"9":138,"10":521,"11":85,"12":119,"13":516,"14":526,"15":322,"16":104,"17":509,"18":524,"19":490,"20":82,"21":145,"22":389,"23":366,"24":392,"25":182,"26":325},"CD8":{"1":53,"2":67,"3":632,"4":114,"5":82,"6":608,"7":620,"8":641,"9":327,"10":59,"11":604,"12":183,"13":615,"14":76,"15":75,"16":138,"17":119,"18":60,"19":533,"20":621,"21":225,"22":215,"23":387,"24":187,"25":259,"26":318},"FSC":{"1":364,"2":370,"3":363,"4":360,"5":333,"6":372,"7":389,"8":371,"9":422,"10":357,"11":381,"12":410,"13":406,"14":401,"15":356,"16":413,"17":440,"18":384,"19":944,"20":393,"21":617,"22":667,"23":546,"24":681,"25":727,"26":960},"SSC":{"1":117,"2":121,"3":112,"4":175,"5":156,"6":154,"7":162,"8":113,"9":214,"10":114,"11":138,"12":276,"13":137,"14":139,"15":121,"16":239,"17":198,"18":128,"19":966,"20":154,"21":975,"22":437,"23":976,"24":440,"25":1013,"26":975}}, "outliers": {"CCR3":{"1":[],"2":[342,565,320,633,364,568,450,390,545,543,548,558,305,309,322,385,344,331,424,358,310,388,542,607,335,338,530,324,316,412,594,593,339,386,306,432,333,488,560,375,317,323,627,367,536,333,578,313,321,348,385,310,407,366,502,333,337,334,335,334,351,419,376,312,317,310,307,418,317,345,423,368,340,334,393,568,553,317,326,366,587,354,553,313,315,313,314,565,345,385,340,407,387,333,503,550,378,385,320,531],"3":[283,281,260,281,258,291,278,222,240,287,273,236,270,272,260,280,259,262,277,282,261,156,698,190,251,283,286,278,239,167,281,187,293,285,165,237,245,240,280,256,268,262,286,153,237,285,294,249,294,285,228,286,293,282,282,141,255,254,180,274,234,210,266,175,159,264,270,266,272,277,256,214,273,224,206,195,276,127,184,176,268,241,246,274,281,215,288,266,278,168,274,275,230,232,270,252,267,181,95'..b'":608.0,"12":196.0,"13":620.0,"14":50.0,"15":74.0,"16":130.0,"17":131.0,"18":50.0,"19":487.5,"20":631.0,"21":228.0,"22":220.0,"23":383.0,"24":197.0,"25":263.0,"26":315.0},"CCR3":{"1":77.0,"2":175.0,"3":501.0,"4":511.0,"5":109.0,"6":257.0,"7":290.0,"8":509.0,"9":634.0,"10":73.0,"11":582.0,"12":157.0,"13":301.0,"14":115.0,"15":119.0,"16":200.0,"17":274.0,"18":182.0,"19":502.5,"20":275.0,"21":190.0,"22":267.0,"23":437.0,"24":150.0,"25":232.0,"26":303.5}}, "q3": {"FSC":{"1":384.0,"2":398.0,"3":385.0,"4":398.0,"5":357.0,"6":391.0,"7":410.0,"8":392.0,"9":476.0,"10":378.0,"11":404.0,"12":459.0,"13":441.0,"14":428.0,"15":388.5,"16":435.0,"17":488.0,"18":413.0,"19":1023.0,"20":417.0,"21":644.0,"22":721.0,"23":601.0,"24":734.0,"25":768.0,"26":1023.0},"SSC":{"1":132.0,"2":140.0,"3":127.0,"4":206.0,"5":174.0,"6":176.0,"7":191.0,"8":126.0,"9":270.5,"10":128.0,"11":159.0,"12":313.5,"13":163.0,"14":159.0,"15":144.0,"16":259.0,"17":263.5,"18":146.0,"19":1023.0,"20":178.0,"21":1023.0,"22":522.0,"23":1023.0,"24":510.0,"25":1023.0,"26":1023.0},"CD4":{"1":541.0,"2":546.0,"3":534.0,"4":116.0,"5":87.0,"6":106.0,"7":120.0,"8":537.0,"9":199.25,"10":542.0,"11":122.0,"12":153.5,"13":545.0,"14":550.0,"15":356.0,"16":135.0,"17":560.0,"18":548.0,"19":554.75,"20":118.5,"21":173.0,"22":429.0,"23":389.0,"24":427.0,"25":210.0,"26":413.0},"CCR7":{"1":220.0,"2":75.0,"3":122.5,"4":214.0,"5":131.0,"6":135.0,"7":380.0,"8":294.0,"9":524.5,"10":63.0,"11":165.0,"12":247.0,"13":495.0,"14":629.0,"15":166.5,"16":559.75,"17":642.0,"18":234.0,"19":713.25,"20":609.5,"21":262.0,"22":270.0,"23":488.0,"24":259.0,"25":295.0,"26":375.0},"CD8":{"1":89.0,"2":122.0,"3":658.0,"4":162.5,"5":108.0,"6":642.0,"7":655.0,"8":664.0,"9":460.25,"10":101.0,"11":630.0,"12":273.5,"13":645.0,"14":131.0,"15":124.5,"16":201.75,"17":198.0,"18":115.0,"19":633.0,"20":656.0,"21":256.0,"22":258.0,"23":406.0,"24":234.0,"25":286.0,"26":348.0},"CCR3":{"1":105.0,"2":211.0,"3":543.0,"4":571.0,"5":156.0,"6":294.0,"7":341.0,"8":547.0,"9":683.0,"10":100.0,"11":609.0,"12":208.0,"13":348.0,"14":161.0,"15":164.0,"16":271.0,"17":338.0,"18":221.0,"19":583.25,"20":316.0,"21":234.0,"22":306.25,"23":499.0,"24":193.0,"25":270.0,"26":359.0}}, "upper": {"FSC":{"1":451.5,"2":480.5,"3":457.0,"4":531.5,"5":447.0,"6":458.5,"7":479.0,"8":455.0,"9":648.875,"10":450.0,"11":474.5,"12":580.5,"13":547.5,"14":518.0,"15":482.25,"16":534.0,"17":623.75,"18":500.0,"19":1212.0,"20":489.0,"21":738.5,"22":875.5,"23":766.0,"24":893.0,"25":900.0,"26":1187.625},"SSC":{"1":186.0,"2":201.5,"3":178.0,"4":315.5,"5":249.0,"6":258.5,"7":279.5,"8":174.0,"9":419.75,"10":179.0,"11":232.5,"12":500.25,"13":251.5,"14":234.0,"15":229.5,"16":398.5,"17":436.75,"18":209.0,"19":1023.0,"20":253.0,"21":1158.0,"22":723.375,"23":1023.0,"24":708.75,"25":1023.0,"26":1023.0},"CD4":{"1":598.0,"2":609.0,"3":594.0,"4":243.5,"5":202.5,"6":217.0,"7":229.5,"8":589.5,"9":365.0,"10":602.0,"11":234.5,"12":254.75,"13":623.0,"14":622.0,"15":455.0,"16":250.5,"17":670.25,"18":606.5,"19":737.75,"20":225.75,"21":261.5,"22":541.875,"23":459.5,"24":517.0,"25":289.5,"26":657.5},"CCR7":{"1":329.5,"2":187.5,"3":306.25,"4":411.25,"5":327.5,"6":312.375,"7":620.0,"8":427.5,"9":800.5,"10":157.5,"11":340.125,"12":409.0,"13":711.0,"14":795.5,"15":387.75,"16":737.875,"17":789.0,"18":351.0,"19":1025.625,"20":814.25,"21":362.5,"22":405.375,"23":557.0,"24":417.25,"25":371.5,"26":480.0},"CD8":{"1":222.5,"2":305.0,"3":722.5,"4":344.75,"5":259.5,"6":724.5,"7":739.0,"8":722.5,"9":855.5,"10":252.5,"11":702.0,"12":472.25,"13":724.5,"14":327.5,"15":296.25,"16":436.125,"17":440.25,"18":287.5,"19":942.375,"20":740.0,"21":343.0,"22":381.0,"23":481.0,"24":361.5,"25":361.0,"26":442.5},"CCR3":{"1":202.5,"2":304.0,"3":692.25,"4":740.5,"5":295.5,"6":414.0,"7":476.0,"8":670.0,"9":831.875,"10":194.5,"11":706.5,"12":371.5,"13":481.5,"14":302.0,"15":314.0,"16":486.625,"17":494.0,"18":318.5,"19":790.625,"20":448.0,"21":387.0,"22":408.625,"23":647.5,"24":332.5,"25":396.0,"26":506.0}}}\n\\ No newline at end of file\n' |
b |
diff -r bca68066a957 -r a64ece32a01a test-data/out.html --- a/test-data/out.html Wed May 20 16:04:43 2020 -0400 +++ b/test-data/out.html Tue Jul 28 08:32:36 2020 -0400 |
b |
@@ -8,20 +8,22 @@ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"/> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css"/> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/pdfmake-0.1.18/dt-1.10.12/b-1.2.1/b-colvis-1.2.1/b-html5-1.2.1/cr-1.3.2/fc-3.2.2/fh-3.1.2/r-2.1.0/rr-1.1.2/sc-1.4.2/se-1.2.0/datatables.min.css"/> -<link rel="stylesheet" href="/static/flowtools/css/parallelCoordinates.css"/> +<link rel="stylesheet" type="text/css" href="js/Editor-1.5.6/css/editor.dataTables.css"> +<link rel="stylesheet" href="css/parallelCoordinates.css"/> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.datatables.net/v/dt/pdfmake-0.1.18/dt-1.10.12/b-1.2.1/b-colvis-1.2.1/b-html5-1.2.1/cr-1.3.2/fc-3.2.2/fh-3.1.2/r-2.1.0/rr-1.1.2/sc-1.4.2/se-1.2.0/datatables.min.js"></script> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> +<script src="js/Editor-1.5.6/js/dataTables.editor.js" type="text/javascript"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.full.min.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" type="text/javascript"></script> <script src="https://cdn.plot.ly/plotly-1.0.0.min.js" type="text/javascript"></script> -<script src="/static/flowtools/js/csOverview.js" type="text/javascript"></script> -<script src="/static/flowtools/js/crossSamplePlots.js" type="text/javascript"></script> -<script src="/static/flowtools/js/pCoordMFIstats.js" type="text/javascript"></script> -<script src="/static/flowtools/js/pCoordCSstats.js" type="text/javascript"></script> -<script src="/static/flowtools/js/color_palette.js" type="text/javascript"></script> -<script src="/static/flowtools/js/boxplots.js" type="text/javascript"></script> +<script src="js/csOverview.js" type="text/javascript"></script> +<script src="js/crossSamplePlots.js" type="text/javascript"></script> +<script src="js/pCoordMFIstats.js" type="text/javascript"></script> +<script src="js/pCoordCSstats.js" type="text/javascript"></script> +<script src="js/color_palette.js" type="text/javascript"></script> +<script src="js/boxplots.js" type="text/javascript"></script> <style> #input{font-family:Calibri,Arial} @@ -67,7 +69,7 @@ <button id="updateDisplayA" class="igbtn">Reset Display</button> </div> <div class="col-sm-6 optionButtons"> - <button id="togglePlot" class="igbtn"><img id="toggleButtonImg" src="/static/images/flowtools/barssm.png"></button> + <button id="togglePlot" class="igbtn"><img id="toggleButtonImg" src="images/barssm.png"></button> </div> </div> <table id="popTableA" class="table table-condensed table-bordered igtable"> |