downloaded new jquery-ui version 1.14.2 using theme from OpenDRS
@@ -1,195 +1,219 @@
|
|||||||
OpenDRS - Online Discrepancy Reporting System
|
CHANGELOG
|
||||||
|
OpenLog Online Logbook
|
||||||
Copyright (C) 2026 Rod Wright
|
Copyright (C) 2026 Rod Wright
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
SPDX-License-Identifier: GPL-2.0
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
1.0 - 2000-??-??
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
- Initial release.
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
2.0 - 2001-??-??
|
||||||
along with this program; if not, write to the Free Software
|
- Added referencing capability
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
- Various bugfixes
|
||||||
|
|
||||||
|
|
||||||
Changelog
|
|
||||||
|
|
||||||
1.0.0 - 2018-03-13
|
2.2 - 2002-??-??
|
||||||
- Initial release as OpenMTS.
|
- Added day navigation links at top of screen to replace forward and
|
||||||
|
back buttons.
|
||||||
|
- Added printer friendly functionality.
|
||||||
|
- Various bugfixes.
|
||||||
|
|
||||||
1.1.0 - 2018-05-10
|
3.0 - 2005-03-12
|
||||||
- Name change from OpenMTS to OpenDRS.
|
- Total redesign of pages.
|
||||||
- Added "Go Back" button to left side menu to make up for loss of browser
|
- Replaced day navigation links with clickable calendar.
|
||||||
back button in terminal mode.
|
- Improved search page by putting the search criteria and results on
|
||||||
- Added configurable help text for period effective selection.
|
the same page.
|
||||||
- Changed Sim period effective from selection to yes/no radio buttons.
|
- Made various notices and error messages consistent.
|
||||||
- Writeup groups page shows collapsed list of groups. Click the expand
|
- Simplified reference chain display on main page by removing
|
||||||
icon to expand each group.
|
referenced note numbers and adding a magnifying glass icon
|
||||||
- Fixed bug where entries made on stale create page had inaccurate
|
that takes you to the reference chain page. Referenced note
|
||||||
date/time.
|
numbers still available on reference chain page.
|
||||||
- For logged in users, added the ability to select writeups directly on
|
- Added a plus sign icon to the note on the main page and reference
|
||||||
the View All Writeups page and assign/create a group.
|
chain page so that you don't have to go to the edit page to
|
||||||
- On the Create New Writeup page, removed the default selections for
|
add a note referencing the current note.
|
||||||
Device, Subsystem, and Period dropdowns, forcing user to make a
|
- Many, many, many code cleanups.
|
||||||
selection.
|
- Now works with standard php configuration. No longer requires
|
||||||
- Added a Today button to the View All Writeups page
|
register_globals to be turned on.
|
||||||
- Changed the Period dropdowns on the Create, Search, and Group pages to
|
- simplified the printer friendly functionality.
|
||||||
show the times instead of the period numbers. Period numbers are
|
- Added link management functionality.
|
||||||
still shown in the results tables with mouse hover showing times.
|
|
||||||
- Moved all installation/upgrade functions to the install.sh script.
|
|
||||||
|
|
||||||
1.1.1 - 2020-04-09
|
|
||||||
- Fixed opendrs-update.sql to rename the trainers table.
|
|
||||||
- Fixed bug where the About page didn't show the version number.
|
|
||||||
- Fixed some grammar on the About page.
|
|
||||||
- Fixed hardcoded help text in groups.php to use constant from config.
|
|
||||||
- Added ID to searchable parameters in search.php.
|
|
||||||
- Added sort parameters to search results.
|
|
||||||
- Added a link for Admins to access the local Webmin to manage a terminal.
|
|
||||||
- For Raspberry Pi:
|
|
||||||
- In terminal setup, provided missing .profile and
|
|
||||||
.config/openbox/rc.xml files.
|
|
||||||
- In server setup, install mariadb-server since
|
|
||||||
mysql-server is obsolete.
|
|
||||||
- Changed startdrs.sh to re-enable ctrl keys for copy/paste, etc. Also
|
|
||||||
added chromium flags to prevent update popup.
|
|
||||||
- Added openbox keybindings to customer user's rc.xml to trap dangerous
|
|
||||||
chromium hotkey combinations and enable ctrl-alt-del reboot.
|
|
||||||
- Changed systemd ctrl-alt-del.target symlink to point to
|
|
||||||
reboot.target.
|
|
||||||
|
|
||||||
1.1.2 - 2021-04-28
|
|
||||||
- Added ability to export search results as a CSV file.
|
|
||||||
- Fixed bug in server-setup.sh that resulted in an incorrect install
|
|
||||||
location if the installation name was left at the default.
|
|
||||||
- Fixed bug in server-setup.sh that resulted in failure to set the
|
|
||||||
ownership of the installed server directory tree if the http
|
|
||||||
user and group names were left at the default.
|
|
||||||
- Updated and tested to support Raspberry Pi 4B hardware.
|
|
||||||
|
|
||||||
1.2.0 - 2021-05-05
|
3.1 - 2005-03-28
|
||||||
- Added ability to customize the terminology used for Device,
|
- Fixed bug where the footer message was not being displayed.
|
||||||
Period, and Effective/Non-effective to make OpenDRS usable in
|
- Fixed bug that caused the contents of some fields in tables to be
|
||||||
a wider range of applications.
|
halfway down the field (and possibly off-screen and not
|
||||||
|
visible) when the contents of other fields were very long.
|
||||||
|
- Fixed bug where links show up on the printer friendly main page.
|
||||||
|
|
||||||
1.3.0 - 2022-03-05
|
3.2 - 2005-03-30
|
||||||
- Made several improvements to group functionality. The Writeup Groups
|
- Fixed inconsistent prompt text on search page.
|
||||||
page now displays all groups in a table instead of individually
|
- Fixed problem of whitespace characters at beginning and end of
|
||||||
expandable sections. On the View Writeups and View Open Writeups
|
search text being included in the where clause resulting in
|
||||||
pages, if a writeup is a member of only one group, clicking the
|
no results returned.
|
||||||
icon will take you to the page for that group. If a writeup is
|
- Fixed incorrect version number on about page.
|
||||||
a member of multiple groups, clicking the icon will take you to
|
- Moved openlog.sql into the utilities directory with all the other
|
||||||
the detail page for that writeup where you can view or modify which
|
one-time use stuff. Updated docs accordingly.
|
||||||
groups the writeup is a member of. On the Search page, you can
|
|
||||||
now choose which group(s) the results should include.
|
|
||||||
- Made some improvements to the installation process for Raspberry Pi
|
|
||||||
setup to accomodate the latest version of Raspberry Pi OS.
|
|
||||||
- If setting up as a Raspberry Pi terminal/server, included the option
|
|
||||||
to make the terminal a wireless access point if it connects to an
|
|
||||||
ethernet network.
|
|
||||||
|
|
||||||
1.3.1 - 2022-05-11
|
3.3 - 2005-06-02
|
||||||
- Updated installation scripts and instructions to reflect changes in
|
- Fixed printer friendly pages so they do not show the navigation and
|
||||||
Raspberry Pi OS Release 2022-04-04.
|
forms. This prevents the note column from being compressed to
|
||||||
|
just a few characters wide when printed.
|
||||||
1.3.2 - 2022-08-08
|
|
||||||
- Fixed typo in dbadmin.php that prevented adding new When Discovered
|
|
||||||
items.
|
|
||||||
- Fixed bug in create.php that prevented the page from working.
|
|
||||||
- Fixed bug in config.php that prevented banners from being modified.
|
|
||||||
- Fixed bug where action_by and action_reason were not preselected for
|
|
||||||
subsequent searches in search.php.
|
|
||||||
- Fixed bug in about.php and gpl.php that still used old $mts_db
|
|
||||||
database handle.
|
|
||||||
- Removed the server session directory option in config.php
|
|
||||||
Miscellaneous settings. For this to make sense, you'd have to have
|
|
||||||
shell access to the server and if that's the case, you'd be able
|
|
||||||
to make the necessary database changes as well.
|
|
||||||
- Fixed opendrs-initial.sql to make the default banner colors match
|
|
||||||
the ones in common.php.
|
|
||||||
- Created changelog.php for use by the "changes" link on the About
|
|
||||||
page so kiosk terminal users don't get dead-ended in the CHANGELOG
|
|
||||||
text file with no way to get back to the app.
|
|
||||||
- Extensive code cleanups/updates in all php files to make application
|
|
||||||
compatible with php8 and eliminate php warnings in apache2 error
|
|
||||||
log file.
|
|
||||||
- For Raspberry Pi:
|
|
||||||
- Updated server-setup.sh to attempt to install the php-mysqli package
|
|
||||||
for compatibility with php8.
|
|
||||||
- Chromium browser will use the printer designated as the local
|
|
||||||
default if it is selected as such in the Cups printer
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
1.3.3 - 2023-10-03
|
3.4 - 2007-01-04
|
||||||
- Restricted the ability to change the report date and time when
|
- Fixed bug where items in dropdown lists were displayed in some
|
||||||
creating or editing a writeup to only logged in users. This is to
|
random order. Now they are shown in the order they were added
|
||||||
prevent reporters from backdating writeups, causing them to possibly
|
on the administration page.
|
||||||
be missed.
|
- Fixed bug where the reference links on the reference chain page
|
||||||
- For Raspberry Pi:
|
didn't work. They took you to the search page, which was
|
||||||
- Updated the Webmin custom command scripts to use whatever user is
|
redundant and produced "no notes match criteria" message.
|
||||||
logged into Webmin instead of the user "pi" which may not exist
|
Links in references column now take you to the edit page
|
||||||
if rpi-imager options were used to set a different initial user
|
for the linked note.
|
||||||
when the SD card was created.
|
- Added a security classification banner function that displays an
|
||||||
|
appropriately colored and labeled banner at the top and
|
||||||
|
bottom of all pages that display anything from the database.
|
||||||
|
Banner is controlled in the config.php file.
|
||||||
|
|
||||||
1.4.0 - 2024-05-09
|
3.5 - 2008-01-02
|
||||||
- Updated the installer script (install.sh) to check for and install the
|
- Added a time field to the database. It works like the date, i.e.,
|
||||||
prerequisites (apache, php, mariadb/mysql) and optional packages
|
it automatically fills with the current time of the database
|
||||||
(webmin, phpmyadmin).
|
server, but may be changed on the add entry and edit pages if
|
||||||
- Added an access mode setting. The access mode should be "untrusted" if
|
desired. YOU MUST RUN THE dbupdate-3.5.sql UTILITY AS
|
||||||
OpenDRS is exposed to an untrusted environment such as the internet.
|
DESCRIBED IN THE UPGRADE FILE OR YOUR
|
||||||
Untrusted mode requires a login to access any part of the application.
|
PAGES WILL NOT DISPLAY CORRECTLY! Your database will not be
|
||||||
The access mode should be "trusted" when the application is used
|
damaged if you omit this step, but the logbook will not be
|
||||||
in a trusted environment where anybody on the network can
|
much use. If you are installing OpenLog for the first time,
|
||||||
create/edit writeups and search the database, with a login required
|
you will not need to run the update utility, since the initial
|
||||||
for everything else.
|
database creation takes care of it.
|
||||||
- On the View All Writeups pages, replaced the "Last 7 days" and
|
|
||||||
"Last 30 days" buttons with a dropdown with more options, including
|
|
||||||
future dates so that OpenDRS can be more useful for things like
|
|
||||||
preventive maintenance.
|
|
||||||
- Changed the global font to a sans-serif font.
|
|
||||||
- For Raspberry Pi:
|
|
||||||
- Removed the Raspberry Pi terminal setup from OpenDRS. Setting up
|
|
||||||
a Raspberry Pi as a terminal for OpenDRS can now be accomplished
|
|
||||||
by installing the OpenKiosk application.
|
|
||||||
- Removed the Raspberry Pi server setup from OpenDRS. Setting up
|
|
||||||
a Raspberry Pi as an OpenDRS server is easily accomplished by
|
|
||||||
the OpenDRS installer.
|
|
||||||
|
|
||||||
1.4.1 - 2024-06-18
|
3.6 - 2008-01-30
|
||||||
- Updated the installer script (install.sh) to check for and install the
|
- The timestamp field added in version 3.5 was not universally popular.
|
||||||
package supplying uuidgen. If uuidgen is not present, the mysql
|
Added an option to the config file to select whether to show it
|
||||||
user would be created with a blank password.
|
on the main page (it will still be inserted into the database
|
||||||
|
and remain editable).
|
||||||
|
- Added a configurable logbook name. You can now set the name of the
|
||||||
|
logbook in the config file so if you are running multiple
|
||||||
|
logbooks, you'll know which one you're looking at.
|
||||||
|
- Added options in the config file to determine the displayed order
|
||||||
|
of employee names and subject names.
|
||||||
|
|
||||||
1.4.2 - 2024-06-27
|
4.0 - 2008-02-20
|
||||||
- Fixed bug introduced in version 1.4.1 in writeups.php where open
|
- Moved all configuration from a file (config.php) to a table in the
|
||||||
writeups prior to the current day weren't displayed on the
|
database. Added a configuration page so that all configuration
|
||||||
"View Open Writeups" page.
|
can be done in the web browser.
|
||||||
- Removed open, closed, and deferred constant definitions from common.php
|
- Techs can now tell OpenLog to remember who they are using a browser
|
||||||
since only one was ever used, and that in only one place.
|
cookie. Techs can set their current shift, and the Add Entry
|
||||||
|
page will preselect the tech and shift. Also added a
|
||||||
|
customization page so that each tech can have their own color
|
||||||
|
scheme, etc.
|
||||||
|
- Created an installation shell script that automates the task of
|
||||||
|
getting the distribution in the right place in the filesystem
|
||||||
|
with the correct file ownership.
|
||||||
|
- Created a php installation/upgrade routine that detects whether the
|
||||||
|
distribution has been configured and prompts for the database
|
||||||
|
name/logbook name etc. OpenLog either sets up a new
|
||||||
|
installation or upgrades an existing configuration without the
|
||||||
|
user having to deal with command prompt stuff.
|
||||||
|
|
||||||
1.4.3 - 2025-02-27
|
4.1 - 2008-02-26
|
||||||
- Poorly documented changes in the previous three versions resulted
|
- Fixed copyright dates in all files.
|
||||||
in confusion about when the date range selection dropdown should
|
- Fixed bug where backslashes appeared in notes on systems where
|
||||||
appear on the View Open Writeups and View All Writeups pages.
|
magic_quotes_gpc was turned on.
|
||||||
Since the View Open Writeups page seemed redundant (all that info
|
- Fixed bug where custom tech name was inserted on new or edited
|
||||||
was available on the View All Writeups page) removed the View
|
notes even when another tech name was selected.
|
||||||
Open Writeups page entirely. The writeups page now shows all
|
- Fixed install.sh script to not show hostname in url in final
|
||||||
writeups for the selected date range, or today if no dates are
|
instructions since it was not reliable.
|
||||||
specified.
|
- Fixed bug where timestamps for notes entered for past or future
|
||||||
|
dates were set to the time the note was entered. This made
|
||||||
|
notes entered last night appear after notes made this morning
|
||||||
|
on the main page.
|
||||||
|
- Trimmed all text files (including this one;-) to 80 columns so they
|
||||||
|
wouldn't produce wierd line spacing on terminal displays.
|
||||||
|
|
||||||
1.4.4 - 2025-12-10
|
4.2 - 2008-03-08
|
||||||
- Fixed bug in writeupdetail.php that emerged with installation on a
|
- Fixed About page to accurately describe configuration changes.
|
||||||
system using MariaDB-10.11.14. A fatal error occurred when
|
- URLs entered as http://domain.com are automatically converted to
|
||||||
trying to insert a null value into the action_reason field of
|
clickable links in the note text.
|
||||||
the writeups table (you left the action reason dropdown blank).
|
- Added configuration setting to control the size of chunks to break
|
||||||
Previous versions just left it as is without complaint.
|
long url strings into, preventing a long url from distorting
|
||||||
|
the page.
|
||||||
|
- Reversed the chronological order of the CHANGELOG file so the
|
||||||
|
newest stuff is at the top.
|
||||||
|
|
||||||
1.4.5 - 2025-12-16
|
4.3 - 2013-03-15
|
||||||
- Various problems were noted resulting from php's use of UTC as the
|
- Fixed install.sh script to make it detect the httpd process name
|
||||||
|
and user instead of using hardcoded values.
|
||||||
|
|
||||||
|
5.0 - 2015-08-10
|
||||||
|
- Reworked install.sh script to remove web server version specific
|
||||||
|
defaults.
|
||||||
|
- Added install.bat script to handle installation on Windows servers.
|
||||||
|
- Added PHP sessions to enable tech logins and privilege separation.
|
||||||
|
- Added maintenance form and parts tracking functionality.
|
||||||
|
- Added the ability to set flags for notes and maintenance forms.
|
||||||
|
- Improved search capability.
|
||||||
|
|
||||||
|
5.1 - 2015-11-17
|
||||||
|
- Added scheduled maintenance functionality.
|
||||||
|
|
||||||
|
5.1.1 - 2016-01-28
|
||||||
|
- Various bugfixes
|
||||||
|
|
||||||
|
5.2.0 - 2016-10-18
|
||||||
|
- Use jquery-ui for calendaring functions
|
||||||
|
- Replaced deprecated php functions split() and ereg*() with
|
||||||
|
explode() and preg*() functions to make OpenLog compatible
|
||||||
|
with php 7.
|
||||||
|
- Added a field to the logentry page to allow the user to insert a
|
||||||
|
properly formatted URL into a note.
|
||||||
|
|
||||||
|
5.2.1 - 2024-07-09
|
||||||
|
- Removed install.php and moved installation/upgrade process to
|
||||||
|
install.sh shell script with default database files and a db.php
|
||||||
|
template file.
|
||||||
|
- Various compatibility fixes to make OpenLog work with php-8.x.
|
||||||
|
|
||||||
|
5.2.2 - 2025-02-26
|
||||||
|
- Removed corrupt line from the beginning of database-initial.sql
|
||||||
|
that caused the population of the database to fail during
|
||||||
|
install. Upgrades not affected.
|
||||||
|
- Changed functions.php so that the application uses a sans-serif
|
||||||
|
font by default.
|
||||||
|
|
||||||
|
5.2.3 - 2025-12-01
|
||||||
|
- In lognotes.php, get today's data from the database instead of the
|
||||||
|
php date() function, since that had returned tomorrow's date in
|
||||||
|
some instances.
|
||||||
|
- In logentry.php, only run parts code if parts functionality is
|
||||||
|
enabled. This prevents a fatal php error that occurred when
|
||||||
|
trying to get the max value of an empty array.
|
||||||
|
- In settings.php, the LOG_ERRORS constant was not being read
|
||||||
|
properly. Assigned its value to a variable to be used in the if
|
||||||
|
statement.
|
||||||
|
|
||||||
|
5.2.4 - 2025-12-02
|
||||||
|
- In logentry.php, the parts bug from 5.2.2 was only partially
|
||||||
|
fixed. Made the corrections to the edit code as well as the
|
||||||
|
new entry.
|
||||||
|
- In logentry.php, the default times for notes entered using dates
|
||||||
|
other than today's date contained a trailing colon that mysql
|
||||||
|
didn't like. Removed trailing colons.
|
||||||
|
- Cleaned up the REQUEST importation in multiple files to default to
|
||||||
|
NULL values for parameters not supplied to prevent warning
|
||||||
|
messages in the logs.
|
||||||
|
- In the install.sh script, removed the prompts for optional package
|
||||||
|
installation. Code is still there, just turned off by default.
|
||||||
|
|
||||||
|
5.2.4.1 - 2025-12-10
|
||||||
|
- Fixed bug in search.php where "Print search results" link on the
|
||||||
|
search results page resulted in the printable page not showing
|
||||||
|
any results. This was due to a php fatal error caused by passing
|
||||||
|
a non-array as the second argument of the php in_array()
|
||||||
|
function.
|
||||||
|
|
||||||
|
5.2.4.2 - 2025-12-11
|
||||||
|
- Fixed other bugs caused by passing a non-array as the second
|
||||||
|
argument of the php in_array() function in various files.
|
||||||
|
|
||||||
|
5.2.4.3 - 2025-12-16
|
||||||
|
- Various problems were noted resulting from php's use of UTC as the
|
||||||
default timezone. Now, on installation or upgrade, the installer
|
default timezone. Now, on installation or upgrade, the installer
|
||||||
gets the correct timezone from the system and sets it as a php
|
gets the correct timezone from the system and sets it as a php
|
||||||
option in a .htaccess file in the install location. This solves
|
option in a .htaccess file in the install location. This solves
|
||||||
@@ -200,21 +224,71 @@ Changelog
|
|||||||
allow apache to read the .htaccess file to the <Directory>
|
allow apache to read the .htaccess file to the <Directory>
|
||||||
section of the application's conf file in
|
section of the application's conf file in
|
||||||
/etc/apache2/conf-available
|
/etc/apache2/conf-available
|
||||||
- Renamed the installer's opendrs-update.sh script to files_update.sh
|
- Renamed the installer's db.php_update.sh script to files-update.sh
|
||||||
to align with the standardized installation process used by
|
to reflect that it now can do more than just modify the db.php
|
||||||
other applications.
|
file. For this version, it's used to modify the apache conf file
|
||||||
- Changed the install.sh script to align with the standardized
|
mentioned earlier.
|
||||||
installation process used by other applications.
|
- Completely removed the optional package prompting/installation
|
||||||
|
code from install.sh. This is best done using separate
|
||||||
|
installers.
|
||||||
|
|
||||||
1.4.6 - 2026-02-06
|
5.2.4.4 - 2025-12-19
|
||||||
- Fixed bug in group_detail() function in common.php where the link
|
-Fixed bugs that caused crashes on the Scheduled Maintenance page
|
||||||
members were being sorted by linkid instead of writeupid. This
|
that were caused by more strict behavior of php regarding mysql
|
||||||
caused the group writeup table to be ordered based on when the
|
queries.
|
||||||
writeup was added to the group instead of in the logical writeup
|
- Fixed bug where some functions defined in functions.php were not
|
||||||
order.
|
treating the $today variable as global.
|
||||||
|
- In install.php, if a previous installation was found, make upgrade
|
||||||
|
the default choice.
|
||||||
|
|
||||||
1.4.7 - 2026-03-03
|
5.2.5 - 2026-02-10
|
||||||
- Fixed bug reported as Issue 1 where clicking the Show Printable
|
This is just a version number bump to get on a major-minor-patch
|
||||||
button on the search results page resulted in the results not
|
scheme. There are no code changes for this release.
|
||||||
being shown on the printable page.
|
|
||||||
|
|
||||||
|
5.3.0 - 2026-02-20
|
||||||
|
- Moved the template Create/Copy/Edit/Delete/Rename functionality to
|
||||||
|
its own page to make it less confusing and to fix some strange
|
||||||
|
behavior.
|
||||||
|
- Added global templates which can be used by anyone but can only be
|
||||||
|
created, modified, or deleted by administrators. This makes it
|
||||||
|
easier to employ standardized templates.
|
||||||
|
- Changed the character encoding of the database to utf8mb4 to enable
|
||||||
|
using emojis in text fields.
|
||||||
|
- Changed the insert link functionality. There are now two fields, link
|
||||||
|
text, and URL. The full URL string will now not be displayed in the
|
||||||
|
note, since it frequently was too long and deformed the table,
|
||||||
|
causing the user to have to scroll right to see the entire note. If
|
||||||
|
a URL is entered in the URL field and no link text is entered in the
|
||||||
|
link text field, the link will show up as just the last part of the
|
||||||
|
URL. For example, "http://somewhere.com/myfile.pdf" will show as
|
||||||
|
"myfile.pdf" in the note text. If text is entered in the link text
|
||||||
|
field, that is what will show as the clickable link in the note text.
|
||||||
|
NOTE: URLs in previously entered notes will not automatically be
|
||||||
|
converted.
|
||||||
|
- Changed the flag handling code to no longer dynamically create flag_
|
||||||
|
tables in the database to track assignments. This is now done using
|
||||||
|
a flagmap table.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- References will no longer be stored in the lognotes table with the note.
|
||||||
|
There is now a reflinks table that stores the link information.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- Various code cleanups to prevent php warnings in the logs if logging
|
||||||
|
is enabled.
|
||||||
|
- Validate all date and time fields to prevent user entered invalid date
|
||||||
|
formats from crashing php.
|
||||||
|
- Fixed profile page to automatically refresh page to show the results
|
||||||
|
when a user changes their color preferences.
|
||||||
|
|
||||||
|
5.3.1 - 2026-02-25
|
||||||
|
- Fixed bug reported as Issue 1 where failure to select an action for a
|
||||||
|
part entered in a lognote crashed php in logentry.php.
|
||||||
|
- Fixed bug where the prompt to set flags on reference chain appeared
|
||||||
|
even when no flags were available to select in logentry.php.
|
||||||
|
|
||||||
|
5.3.2 - 2026-03-02
|
||||||
|
- Fixed bug reported as Issue 2 where printing search results resulted in
|
||||||
|
the flags selection was being ignored.
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 338 B |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
7
distfiles/jquery-ui-1.12.1/jquery-ui.min.css
vendored
13
distfiles/jquery-ui-1.12.1/jquery-ui.min.js
vendored
@@ -1,26 +0,0 @@
|
|||||||
.ui-multiselect { padding:2px 0 2px 4px; text-align:left }
|
|
||||||
.ui-multiselect span.ui-icon { float:right }
|
|
||||||
.ui-multiselect-single .ui-multiselect-checkboxes input { left:-9999px; position:absolute !important; top: auto !important; }
|
|
||||||
.ui-multiselect-single .ui-multiselect-checkboxes label { padding:5px !important }
|
|
||||||
|
|
||||||
.ui-multiselect-header { margin-bottom:3px; padding:3px 0 3px 4px; }
|
|
||||||
.ui-multiselect-header ul { font-size:0.9em }
|
|
||||||
.ui-multiselect-header ul li { float:left; padding:0 10px 0 0; }
|
|
||||||
.ui-multiselect-header a { text-decoration:none; }
|
|
||||||
.ui-multiselect-header a:hover { text-decoration:underline; }
|
|
||||||
.ui-multiselect-header span.ui-icon { float:left; }
|
|
||||||
.ui-multiselect-header .ui-multiselect-close { float:right; padding-right:0; text-align:right; }
|
|
||||||
|
|
||||||
.ui-multiselect-menu { display:none; padding:3px; position:absolute; text-align: left; }
|
|
||||||
.ui-multiselect-checkboxes { overflow-y:auto; position:relative; }
|
|
||||||
.ui-multiselect-checkboxes label { border:1px solid transparent; cursor:default; display:block; padding:3px 1px; }
|
|
||||||
.ui-multiselect-checkboxes label input { position:relative; top:1px }
|
|
||||||
.ui-multiselect-checkboxes label img { height: 30px; vertical-align: middle; padding-right: 3px;}
|
|
||||||
.ui-multiselect-checkboxes li { clear:both; font-size:0.9em; list-style: none; padding-right:3px; }
|
|
||||||
.ui-multiselect-checkboxes .ui-multiselect-optgroup { padding: 3px; }
|
|
||||||
.ui-multiselect-columns { display: inline-block; vertical-align: top; }
|
|
||||||
.ui-multiselect-checkboxes .ui-multiselect-optgroup a { border-bottom:1px solid; cursor: pointer; display:block; font-weight:bold; margin:1px 0; padding:3px; text-align:center; text-decoration:none; }
|
|
||||||
|
|
||||||
@media print{
|
|
||||||
.ui-multiselect-menu {display: none;}
|
|
||||||
}
|
|
||||||
@@ -1,986 +0,0 @@
|
|||||||
/* jshint forin:true, noarg:true, noempty:true, eqeqeq:true, boss:true, undef:true, curly:true, browser:true, jquery:true */
|
|
||||||
/*
|
|
||||||
* jQuery MultiSelect UI Widget 2.0.1
|
|
||||||
* Copyright (c) 2012 Eric Hynds
|
|
||||||
*
|
|
||||||
* Depends:
|
|
||||||
* - jQuery 1.4.2+
|
|
||||||
* - jQuery UI 1.11 widget factory
|
|
||||||
*
|
|
||||||
* Optional:
|
|
||||||
* - jQuery UI effects
|
|
||||||
* - jQuery UI position utility
|
|
||||||
*
|
|
||||||
* Dual licensed under the MIT and GPL licenses:
|
|
||||||
* http://www.opensource.org/licenses/mit-license.php
|
|
||||||
* http://www.gnu.org/licenses/gpl.html
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
(function($, undefined) {
|
|
||||||
// Counter used to prevent collisions
|
|
||||||
var multiselectID = 0;
|
|
||||||
var $doc = $(document);
|
|
||||||
|
|
||||||
$.widget("ech.multiselect", {
|
|
||||||
|
|
||||||
// default options
|
|
||||||
options: {
|
|
||||||
header: true,
|
|
||||||
height: 175,
|
|
||||||
minWidth: 225,
|
|
||||||
classes: '',
|
|
||||||
checkAllText: 'Check all',
|
|
||||||
uncheckAllText: 'Uncheck all',
|
|
||||||
noneSelectedText: 'Select options',
|
|
||||||
showCheckAll: true,
|
|
||||||
showUncheckAll: true,
|
|
||||||
selectedText: '# selected',
|
|
||||||
selectedList: 0,
|
|
||||||
closeIcon: 'ui-icon-circle-close',
|
|
||||||
show: null,
|
|
||||||
hide: null,
|
|
||||||
autoOpen: false,
|
|
||||||
multiple: true,
|
|
||||||
position: {},
|
|
||||||
appendTo: null,
|
|
||||||
menuWidth:null,
|
|
||||||
selectedListSeparator: ', ',
|
|
||||||
disableInputsOnToggle: true,
|
|
||||||
groupColumns: false
|
|
||||||
},
|
|
||||||
|
|
||||||
// This method determines which element to append the menu to
|
|
||||||
// Uses the element provided in the options first, then looks for ui-front / dialog
|
|
||||||
// Otherwise appends to the body
|
|
||||||
_getAppendEl: function() {
|
|
||||||
var element = this.options.appendTo;
|
|
||||||
if(element) {
|
|
||||||
element = element.jquery || element.nodeType ? $(element) : this.document.find(element).eq(0);
|
|
||||||
}
|
|
||||||
if(!element || !element[0]) {
|
|
||||||
element = this.element.closest(".ui-front, dialog");
|
|
||||||
}
|
|
||||||
if(!element.length) {
|
|
||||||
element = this.document[0].body;
|
|
||||||
}
|
|
||||||
return element;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Performs the initial creation of the widget
|
|
||||||
_create: function() {
|
|
||||||
var el = this.element;
|
|
||||||
var o = this.options;
|
|
||||||
|
|
||||||
this.speed = $.fx.speeds._default; // default speed for effects
|
|
||||||
this._isOpen = false; // assume no
|
|
||||||
this.inputIdCounter = 0; // Incremented for each input item (option)
|
|
||||||
|
|
||||||
// create a unique namespace for events that the widget
|
|
||||||
// factory cannot unbind automatically. Use eventNamespace if on
|
|
||||||
// jQuery UI 1.9+, and otherwise fallback to a custom string.
|
|
||||||
this._namespaceID = this.eventNamespace || ('multiselect' + multiselectID);
|
|
||||||
// bump unique ID after assigning it to the widget instance
|
|
||||||
this.multiselectID = multiselectID++;
|
|
||||||
|
|
||||||
// The button that opens the widget menu
|
|
||||||
var button = (this.button = $('<button type="button"><span class="ui-icon ui-icon-triangle-1-s"></span></button>'))
|
|
||||||
.addClass('ui-multiselect ui-widget ui-state-default ui-corner-all ' + o.classes)
|
|
||||||
.attr({ 'title':el.attr('title'), 'tabIndex':el.attr('tabIndex'), 'id': el.attr('id') ? el.attr('id') + '_ms' : null })
|
|
||||||
.prop('aria-haspopup', true)
|
|
||||||
.insertAfter(el);
|
|
||||||
|
|
||||||
this.buttonlabel = $('<span />')
|
|
||||||
.html(o.noneSelectedText)
|
|
||||||
.appendTo(button);
|
|
||||||
|
|
||||||
// This is the menu that will hold all the options
|
|
||||||
this.menu = $('<div />')
|
|
||||||
.addClass('ui-multiselect-menu ui-widget ui-widget-content ui-corner-all ' + o.classes)
|
|
||||||
.appendTo(this._getAppendEl());
|
|
||||||
|
|
||||||
// Menu header to hold controls for the menu
|
|
||||||
this.header = $('<div />')
|
|
||||||
.addClass('ui-widget-header ui-corner-all ui-multiselect-header ui-helper-clearfix')
|
|
||||||
.appendTo(this.menu);
|
|
||||||
|
|
||||||
// Header controls, will contain the check all/uncheck all buttons
|
|
||||||
// Depending on how the options are set, this may be empty or simply plain text
|
|
||||||
this.headerLinkContainer = $('<ul />')
|
|
||||||
.addClass('ui-helper-reset')
|
|
||||||
.html(function() {
|
|
||||||
if(o.header === true) {
|
|
||||||
var header_lis = '';
|
|
||||||
if(o.showCheckAll) {
|
|
||||||
header_lis = '<li><a class="ui-multiselect-all" href="#"><span class="ui-icon ui-icon-check"></span><span>' + o.checkAllText + '</span></a></li>';
|
|
||||||
}
|
|
||||||
if(o.showUncheckAll) {
|
|
||||||
header_lis += '<li><a class="ui-multiselect-none" href="#"><span class="ui-icon ui-icon-closethick"></span><span>' + o.uncheckAllText + '</span></a></li>';
|
|
||||||
}
|
|
||||||
return header_lis;
|
|
||||||
} else if(typeof o.header === "string") {
|
|
||||||
return '<li>' + o.header + '</li>';
|
|
||||||
} else {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.append('<li class="ui-multiselect-close"><a href="#" class="ui-multiselect-close"><span class="ui-icon '+o.closeIcon+'"></span></a></li>')
|
|
||||||
.appendTo(this.header);
|
|
||||||
|
|
||||||
// Holds the actual check boxes for inputs
|
|
||||||
var checkboxContainer = (this.checkboxContainer = $('<ul />'))
|
|
||||||
.addClass('ui-multiselect-checkboxes ui-helper-reset')
|
|
||||||
.appendTo(this.menu);
|
|
||||||
|
|
||||||
this._bindEvents();
|
|
||||||
|
|
||||||
// build menu
|
|
||||||
this.refresh(true);
|
|
||||||
|
|
||||||
// If this is a single select widget, add the appropriate class
|
|
||||||
if(!o.multiple) {
|
|
||||||
this.menu.addClass('ui-multiselect-single');
|
|
||||||
}
|
|
||||||
el.hide();
|
|
||||||
},
|
|
||||||
|
|
||||||
// https://api.jqueryui.com/jquery.widget/#method-_init
|
|
||||||
_init: function() {
|
|
||||||
if(this.options.header === false) {
|
|
||||||
this.header.hide();
|
|
||||||
}
|
|
||||||
if(!this.options.multiple) {
|
|
||||||
this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').hide();
|
|
||||||
} else {
|
|
||||||
this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').show();
|
|
||||||
}
|
|
||||||
if(this.options.autoOpen) {
|
|
||||||
this.open();
|
|
||||||
}
|
|
||||||
if(this.element.is(':disabled')) {
|
|
||||||
this.disable();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Builds an option item for the menu
|
|
||||||
* <li>
|
|
||||||
* <label>
|
|
||||||
* <input /> checkbox or radio depending on single/multiple select
|
|
||||||
* <span /> option text
|
|
||||||
* </label>
|
|
||||||
* </li>
|
|
||||||
*/
|
|
||||||
_makeOption: function(option) {
|
|
||||||
var title = option.title ? option.title : null;
|
|
||||||
var value = option.value;
|
|
||||||
var id = this.element.attr('id') || this.multiselectID; // unique ID for the label & option tags
|
|
||||||
var inputID = 'ui-multiselect-' + this.multiselectID + '-' + (option.id || id + '-option-' + this.inputIdCounter++);
|
|
||||||
var isDisabled = option.disabled;
|
|
||||||
var isSelected = option.selected;
|
|
||||||
var labelClasses = [ 'ui-corner-all' ];
|
|
||||||
var liClasses = [];
|
|
||||||
var o = this.options;
|
|
||||||
|
|
||||||
if(isDisabled) {
|
|
||||||
liClasses.push('ui-multiselect-disabled');
|
|
||||||
labelClasses.push('ui-state-disabled');
|
|
||||||
}
|
|
||||||
if(option.className) {
|
|
||||||
liClasses.push(option.className);
|
|
||||||
}
|
|
||||||
if(isSelected && !o.multiple) {
|
|
||||||
labelClasses.push('ui-state-active');
|
|
||||||
}
|
|
||||||
|
|
||||||
var $item = $("<li/>").addClass(liClasses.join(' '));
|
|
||||||
var $label = $("<label/>").attr({
|
|
||||||
"for": inputID,
|
|
||||||
"title": title
|
|
||||||
}).addClass(labelClasses.join(' ')).appendTo($item);
|
|
||||||
var $input = $("<input/>").attr({
|
|
||||||
"name": "multiselect_" + id,
|
|
||||||
"type": o.multiple ? "checkbox" : "radio",
|
|
||||||
"value": value,
|
|
||||||
"title": title,
|
|
||||||
"id": inputID,
|
|
||||||
"checked": isSelected ? "checked" : null,
|
|
||||||
"aria-selected": isSelected ? "true" : null,
|
|
||||||
"disabled": isDisabled ? "disabled" : null,
|
|
||||||
"aria-disabled": isDisabled ? "true" : null
|
|
||||||
}).data($(option).data()).appendTo($label);
|
|
||||||
|
|
||||||
var $span = $("<span/>").text($(option).text());
|
|
||||||
if($input.data("image-src")) {
|
|
||||||
$span.prepend($("<img/>").attr({"src": $input.data("image-src")}));
|
|
||||||
}
|
|
||||||
$span.appendTo($label);
|
|
||||||
|
|
||||||
return $item;
|
|
||||||
},
|
|
||||||
// Builds a menu item for each option in the underlying select
|
|
||||||
// Option groups are built here as well
|
|
||||||
_buildOptionList: function(element, $appendTo) {
|
|
||||||
var self = this;
|
|
||||||
element.children().each(function() {
|
|
||||||
var $this = $(this);
|
|
||||||
if(this.tagName === 'OPTGROUP') {
|
|
||||||
var $optionGroup = $("<ul/>").addClass('ui-multiselect-optgroup ' + this.className).appendTo($appendTo);
|
|
||||||
if(self.options.groupColumns) {
|
|
||||||
$optionGroup.addClass("ui-multiselect-columns");
|
|
||||||
}
|
|
||||||
$("<a/>").text(this.getAttribute('label')).appendTo($optionGroup);
|
|
||||||
self._buildOptionList($this, $optionGroup);
|
|
||||||
} else {
|
|
||||||
var $listItem = self._makeOption(this).appendTo($appendTo);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
// Refreshes the widget to pick up changes to the underlying select
|
|
||||||
// Rebuilds the menu, sets button width
|
|
||||||
refresh: function(init) {
|
|
||||||
var self = this;
|
|
||||||
var el = this.element;
|
|
||||||
var o = this.options;
|
|
||||||
var menu = this.menu;
|
|
||||||
var checkboxContainer = this.checkboxContainer;
|
|
||||||
var $dropdown = $("<ul/>").addClass('ui-multiselect-checkboxes ui-helper-reset');
|
|
||||||
this.inputIdCounter = 0;
|
|
||||||
|
|
||||||
|
|
||||||
// update header link container visibility if needed
|
|
||||||
if (this.options.header) {
|
|
||||||
if(!this.options.multiple) {
|
|
||||||
this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').hide();
|
|
||||||
} else {
|
|
||||||
this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this._buildOptionList(el, $dropdown);
|
|
||||||
|
|
||||||
this.menu.find(".ui-multiselect-checkboxes").remove();
|
|
||||||
this.menu.append($dropdown);
|
|
||||||
|
|
||||||
// cache some moar useful elements
|
|
||||||
this.labels = menu.find('label');
|
|
||||||
this.inputs = this.labels.children('input');
|
|
||||||
|
|
||||||
this._setButtonWidth();
|
|
||||||
|
|
||||||
this.update(true);
|
|
||||||
|
|
||||||
// broadcast refresh event; useful for widgets
|
|
||||||
if(!init) {
|
|
||||||
this._trigger('refresh');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// updates the button text. call refresh() to rebuild
|
|
||||||
update: function(isDefault) {
|
|
||||||
var o = this.options;
|
|
||||||
var $inputs = this.inputs;
|
|
||||||
var $checked = $inputs.filter(':checked');
|
|
||||||
var numChecked = $checked.length;
|
|
||||||
var value;
|
|
||||||
|
|
||||||
if(numChecked === 0) {
|
|
||||||
value = o.noneSelectedText;
|
|
||||||
} else {
|
|
||||||
if($.isFunction(o.selectedText)) {
|
|
||||||
value = o.selectedText.call(this, numChecked, $inputs.length, $checked.get());
|
|
||||||
} else if(/\d/.test(o.selectedList) && o.selectedList > 0 && numChecked <= o.selectedList) {
|
|
||||||
value = $checked.map(function() { return $(this).next().text(); }).get().join(o.selectedListSeparator);
|
|
||||||
} else {
|
|
||||||
value = o.selectedText.replace('#', numChecked).replace('#', $inputs.length);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this._setButtonValue(value);
|
|
||||||
if(isDefault) {
|
|
||||||
this.button[0].defaultValue = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
// this exists as a separate method so that the developer
|
|
||||||
// can easily override it, usually to allow injecting HTML if they really want it
|
|
||||||
_setButtonValue: function(value) {
|
|
||||||
this.buttonlabel.text(value);
|
|
||||||
},
|
|
||||||
|
|
||||||
_bindButtonEvents: function() {
|
|
||||||
var self = this;
|
|
||||||
var button = this.button;
|
|
||||||
function clickHandler() {
|
|
||||||
self[ self._isOpen ? 'close' : 'open' ]();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// webkit doesn't like it when you click on the span :(
|
|
||||||
button
|
|
||||||
.find('span')
|
|
||||||
.bind('click.multiselect', clickHandler);
|
|
||||||
|
|
||||||
// button events
|
|
||||||
button.bind({
|
|
||||||
click: clickHandler,
|
|
||||||
keypress: function(e) {
|
|
||||||
switch(e.which) {
|
|
||||||
case 27: // esc
|
|
||||||
case 38: // up
|
|
||||||
case 37: // left
|
|
||||||
self.close();
|
|
||||||
break;
|
|
||||||
case 39: // right
|
|
||||||
case 40: // down
|
|
||||||
self.open();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mouseenter: function() {
|
|
||||||
if(!button.hasClass('ui-state-disabled')) {
|
|
||||||
$(this).addClass('ui-state-hover');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mouseleave: function() {
|
|
||||||
$(this).removeClass('ui-state-hover');
|
|
||||||
},
|
|
||||||
focus: function() {
|
|
||||||
if(!button.hasClass('ui-state-disabled')) {
|
|
||||||
$(this).addClass('ui-state-focus');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
blur: function() {
|
|
||||||
$(this).removeClass('ui-state-focus');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_bindMenuEvents: function() {
|
|
||||||
var self = this;
|
|
||||||
// optgroup label toggle support
|
|
||||||
this.menu.on('click.multiselect', '.ui-multiselect-optgroup a', function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var $this = $(this);
|
|
||||||
var $inputs = $this.parent().find('input:visible:not(:disabled)');
|
|
||||||
var nodes = $inputs.get();
|
|
||||||
var label = $this.text();
|
|
||||||
|
|
||||||
// trigger event and bail if the return is false
|
|
||||||
if(self._trigger('beforeoptgrouptoggle', e, { inputs:nodes, label:label }) === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// toggle inputs
|
|
||||||
self._toggleChecked(
|
|
||||||
$inputs.filter(':checked').length !== $inputs.length,
|
|
||||||
$inputs
|
|
||||||
);
|
|
||||||
|
|
||||||
self._trigger('optgrouptoggle', e, {
|
|
||||||
inputs: nodes,
|
|
||||||
label: label,
|
|
||||||
checked: nodes.length ? nodes[0].checked : null
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.on('mouseenter.multiselect', 'label', function() {
|
|
||||||
if(!$(this).hasClass('ui-state-disabled')) {
|
|
||||||
self.labels.removeClass('ui-state-hover');
|
|
||||||
$(this).addClass('ui-state-hover').find('input').focus();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.on('keydown.multiselect', 'label', function(e) {
|
|
||||||
if(e.which === 82) {
|
|
||||||
return; //"r" key, often used for reload.
|
|
||||||
}
|
|
||||||
if(e.which > 111 && e.which < 124) {
|
|
||||||
return; //Keyboard function keys.
|
|
||||||
}
|
|
||||||
e.preventDefault();
|
|
||||||
switch(e.which) {
|
|
||||||
case 9: // tab
|
|
||||||
if(e.shiftKey) {
|
|
||||||
self.menu.find(".ui-state-hover").removeClass("ui-state-hover");
|
|
||||||
self.header.find("li").last().find("a").focus();
|
|
||||||
} else {
|
|
||||||
self.close();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 27: // esc
|
|
||||||
self.close();
|
|
||||||
break;
|
|
||||||
case 38: // up
|
|
||||||
case 40: // down
|
|
||||||
case 37: // left
|
|
||||||
case 39: // right
|
|
||||||
self._traverse(e.which, this);
|
|
||||||
break;
|
|
||||||
case 13: // enter
|
|
||||||
case 32: //space
|
|
||||||
$(this).find('input')[0].click();
|
|
||||||
break;
|
|
||||||
case 65: // a
|
|
||||||
if(e.altKey) {
|
|
||||||
self.checkAll();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 85: // u
|
|
||||||
if(e.altKey) {
|
|
||||||
self.uncheckAll();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.on('click.multiselect', 'input[type="checkbox"], input[type="radio"]', function(e) {
|
|
||||||
var $this = $(this);
|
|
||||||
var val = this.value;
|
|
||||||
var optionText = $this.parent().find("span").text();
|
|
||||||
var checked = this.checked;
|
|
||||||
var tags = self.element.find('option');
|
|
||||||
|
|
||||||
// bail if this input is disabled or the event is cancelled
|
|
||||||
if(this.disabled || self._trigger('click', e, { value: val, text: optionText, checked: checked }) === false) {
|
|
||||||
e.preventDefault();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// make sure the input has focus. otherwise, the esc key
|
|
||||||
// won't close the menu after clicking an item.
|
|
||||||
$this.focus();
|
|
||||||
|
|
||||||
// toggle aria state
|
|
||||||
$this.prop('aria-selected', checked);
|
|
||||||
|
|
||||||
// change state on the original option tags
|
|
||||||
tags.each(function() {
|
|
||||||
if(this.value === val) {
|
|
||||||
this.selected = checked;
|
|
||||||
} else if(!self.options.multiple) {
|
|
||||||
this.selected = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// some additional single select-specific logic
|
|
||||||
if(!self.options.multiple) {
|
|
||||||
self.labels.removeClass('ui-state-active');
|
|
||||||
$this.closest('label').toggleClass('ui-state-active', checked);
|
|
||||||
|
|
||||||
// close menu
|
|
||||||
self.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
// fire change on the select box
|
|
||||||
self.element.trigger("change");
|
|
||||||
|
|
||||||
// setTimeout is to fix multiselect issue #14 and #47. caused by jQuery issue #3827
|
|
||||||
// http://bugs.jquery.com/ticket/3827
|
|
||||||
setTimeout($.proxy(self.update, self), 10);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_bindHeaderEvents: function() {
|
|
||||||
var self = this;
|
|
||||||
// header links
|
|
||||||
this.header.on('click.multiselect', 'a', function(e) {
|
|
||||||
var $this = $(this);
|
|
||||||
if($this.hasClass('ui-multiselect-close')) {
|
|
||||||
self.close();
|
|
||||||
} else if($this.hasClass("ui-multiselect-all")) {
|
|
||||||
self.checkAll();
|
|
||||||
} else if($this.hasClass("ui-multiselect-none")) {
|
|
||||||
self.uncheckAll();
|
|
||||||
}
|
|
||||||
e.preventDefault();
|
|
||||||
}).on('keydown.multiselect', 'a', function(e) {
|
|
||||||
switch(e.which) {
|
|
||||||
case 27: // esc
|
|
||||||
self.close();
|
|
||||||
break;
|
|
||||||
case 9: // tab
|
|
||||||
var $target = $(e.target);
|
|
||||||
if((e.shiftKey && !$target.parent().prev().length && !self.header.find(".ui-multiselect-filter").length) || (!$target.parent().next().length && !self.labels.length && !e.shiftKey)) {
|
|
||||||
self.close();
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_bindEvents: function() {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
this._bindButtonEvents();
|
|
||||||
this._bindMenuEvents();
|
|
||||||
this._bindHeaderEvents();
|
|
||||||
|
|
||||||
// close each widget when clicking on any other element/anywhere else on the page
|
|
||||||
$doc.bind('mousedown.' + self._namespaceID, function(event) {
|
|
||||||
var target = event.target;
|
|
||||||
|
|
||||||
if(self._isOpen &&
|
|
||||||
target !== self.button[0] &&
|
|
||||||
target !== self.menu[0] &&
|
|
||||||
!$.contains(self.menu[0], target) &&
|
|
||||||
!$.contains(self.button[0], target)
|
|
||||||
) {
|
|
||||||
self.close();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// deal with form resets. the problem here is that buttons aren't
|
|
||||||
// restored to their defaultValue prop on form reset, and the reset
|
|
||||||
// handler fires before the form is actually reset. delaying it a bit
|
|
||||||
// gives the form inputs time to clear.
|
|
||||||
$(this.element[0].form).bind('reset.' + this._namespaceID, function() {
|
|
||||||
setTimeout($.proxy(self.refresh, self), 10);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// Determines the minimum width for the button and menu
|
|
||||||
// Can be a number, a digit string, or a percentage
|
|
||||||
_getMinWidth: function() {
|
|
||||||
var minVal = this.options.minWidth;
|
|
||||||
var width = 0;
|
|
||||||
switch (typeof minVal) {
|
|
||||||
case 'number':
|
|
||||||
width = minVal;
|
|
||||||
break;
|
|
||||||
case 'string':
|
|
||||||
var lastChar = minVal[ minVal.length -1 ];
|
|
||||||
width = minVal.match(/\d+/);
|
|
||||||
if(lastChar === '%') {
|
|
||||||
width = this.element.parent().outerWidth() * (width/100);
|
|
||||||
} else {
|
|
||||||
width = parseInt(minVal, 10);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return width;
|
|
||||||
},
|
|
||||||
// set button width
|
|
||||||
_setButtonWidth: function() {
|
|
||||||
var width = this.element.outerWidth();
|
|
||||||
var minVal = this._getMinWidth();
|
|
||||||
|
|
||||||
if(width < minVal) {
|
|
||||||
width = minVal;
|
|
||||||
}
|
|
||||||
// set widths
|
|
||||||
this.button.outerWidth(width);
|
|
||||||
},
|
|
||||||
|
|
||||||
// set menu width
|
|
||||||
_setMenuWidth: function() {
|
|
||||||
var m = this.menu;
|
|
||||||
var width = (this.button.outerWidth() <= 0) ? this._getMinWidth() : this.button.outerWidth();
|
|
||||||
m.outerWidth(this.options.menuWidth || width);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Sets the height of the menu
|
|
||||||
// Will set a scroll bar if the menu height exceeds that of the height in options
|
|
||||||
_setMenuHeight: function() {
|
|
||||||
var headerHeight = this.menu.children(".ui-multiselect-header:visible").outerHeight(true);
|
|
||||||
var ulHeight = 0;
|
|
||||||
this.menu.find(".ui-multiselect-checkboxes li, .ui-multiselect-checkboxes a").each(function(idx, li) {
|
|
||||||
ulHeight += $(li).outerHeight(true);
|
|
||||||
});
|
|
||||||
if(ulHeight > this.options.height) {
|
|
||||||
this.menu.children(".ui-multiselect-checkboxes").css("overflow", "auto");
|
|
||||||
ulHeight = this.options.height;
|
|
||||||
} else {
|
|
||||||
this.menu.children(".ui-multiselect-checkboxes").css("overflow", "hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.menu.children(".ui-multiselect-checkboxes").height(ulHeight);
|
|
||||||
this.menu.height(ulHeight + headerHeight);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Resizes the menu, called every time the menu is opened
|
|
||||||
_resizeMenu: function() {
|
|
||||||
this._setMenuWidth();
|
|
||||||
this._setMenuHeight();
|
|
||||||
},
|
|
||||||
|
|
||||||
// move up or down within the menu
|
|
||||||
_traverse: function(which, start) {
|
|
||||||
var $start = $(start);
|
|
||||||
var moveToLast = which === 38 || which === 37;
|
|
||||||
|
|
||||||
// select the first li that isn't an optgroup label / disabled
|
|
||||||
var $next = $start.parent()[moveToLast ? 'prevAll' : 'nextAll']('li:not(.ui-multiselect-disabled, .ui-multiselect-optgroup):visible').first();
|
|
||||||
// we might have to jump to the next/previous option group
|
|
||||||
if(!$next.length) {
|
|
||||||
$next = $start.parents(".ui-multiselect-optgroup")[moveToLast ? "prev" : "next" ]();
|
|
||||||
}
|
|
||||||
|
|
||||||
// if at the first/last element
|
|
||||||
if(!$next.length) {
|
|
||||||
var $container = this.menu.find('ul').last();
|
|
||||||
|
|
||||||
// move to the first/last
|
|
||||||
this.menu.find('label:visible')[ moveToLast ? 'last' : 'first' ]().trigger('mouseover');
|
|
||||||
|
|
||||||
// set scroll position
|
|
||||||
$container.scrollTop(moveToLast ? $container.height() : 0);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$next.find('label:visible')[ moveToLast ? "last" : "first" ]().trigger('mouseover');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// This is an internal function to toggle the checked property and
|
|
||||||
// other related attributes of a checkbox.
|
|
||||||
//
|
|
||||||
// The context of this function should be a checkbox; do not proxy it.
|
|
||||||
_toggleState: function(prop, flag) {
|
|
||||||
return function() {
|
|
||||||
if(!this.disabled) {
|
|
||||||
this[ prop ] = flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(flag) {
|
|
||||||
this.setAttribute('aria-selected', true);
|
|
||||||
} else {
|
|
||||||
this.removeAttribute('aria-selected');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
// Toggles checked state on either an option group or all inputs
|
|
||||||
_toggleChecked: function(flag, group) {
|
|
||||||
var $inputs = (group && group.length) ? group : this.inputs;
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
// toggle state on inputs
|
|
||||||
$inputs.each(this._toggleState('checked', flag));
|
|
||||||
|
|
||||||
// give the first input focus
|
|
||||||
$inputs.eq(0).focus();
|
|
||||||
|
|
||||||
// update button text
|
|
||||||
this.update();
|
|
||||||
|
|
||||||
// gather an array of the values that actually changed
|
|
||||||
var values = {};
|
|
||||||
$inputs.each(function() {
|
|
||||||
values[this.value] = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
// toggle state on original option tags
|
|
||||||
this.element
|
|
||||||
.find('option')
|
|
||||||
.each(function() {
|
|
||||||
if(!this.disabled && values[this.value]) {
|
|
||||||
self._toggleState('selected', flag).call(this);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// trigger the change event on the select
|
|
||||||
if($inputs.length) {
|
|
||||||
this.element.trigger("change");
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Toggle disable state on the widget and underlying select
|
|
||||||
_toggleDisabled: function(flag) {
|
|
||||||
this.button.prop({ 'disabled':flag, 'aria-disabled':flag })[ flag ? 'addClass' : 'removeClass' ]('ui-state-disabled');
|
|
||||||
|
|
||||||
if(this.options.disableInputsOnToggle) {
|
|
||||||
var checkboxes = this.menu.find(".ui-multiselect-checkboxes").get(0);
|
|
||||||
var matchedInputs = [];
|
|
||||||
var key = "ech-multiselect-disabled";
|
|
||||||
var i = 0;
|
|
||||||
if(flag) {
|
|
||||||
// remember which elements this widget disabled (not pre-disabled)
|
|
||||||
// elements, so that they can be restored if the widget is re-enabled.
|
|
||||||
matchedInputs = checkboxes.querySelectorAll("input:enabled");
|
|
||||||
for(i = 0; i < matchedInputs.length; i++) {
|
|
||||||
matchedInputs[i].setAttribute(key, true);
|
|
||||||
matchedInputs[i].setAttribute("disabled", "disabled");
|
|
||||||
matchedInputs[i].setAttribute("aria-disabled", "disabled");
|
|
||||||
matchedInputs[i].parentNode.className = matchedInputs[i].parentNode.className + " ui-state-disabled";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
matchedInputs = checkboxes.querySelectorAll("input:disabled");
|
|
||||||
for(i = 0; i < matchedInputs.length; i++) {
|
|
||||||
if(matchedInputs[i].hasAttribute(key)) {
|
|
||||||
matchedInputs[i].removeAttribute(key);
|
|
||||||
matchedInputs[i].removeAttribute("disabled");
|
|
||||||
matchedInputs[i].removeAttribute("aria-disabled");
|
|
||||||
matchedInputs[i].parentNode.className = matchedInputs[i].parentNode.className.replace(" ui-state-disabled", "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.element.prop({
|
|
||||||
'disabled':flag,
|
|
||||||
'aria-disabled':flag
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// open the menu
|
|
||||||
open: function(e) {
|
|
||||||
var self = this;
|
|
||||||
var button = this.button;
|
|
||||||
var menu = this.menu;
|
|
||||||
var speed = this.speed;
|
|
||||||
var o = this.options;
|
|
||||||
var args = [];
|
|
||||||
|
|
||||||
// bail if the multiselectopen event returns false, this widget is disabled, or is already open
|
|
||||||
if(this._trigger('beforeopen') === false || button.hasClass('ui-state-disabled') || this._isOpen) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var $container = menu.find('.ui-multiselect-checkboxes');
|
|
||||||
var effect = o.show;
|
|
||||||
|
|
||||||
// figure out opening effects/speeds
|
|
||||||
if($.isArray(o.show)) {
|
|
||||||
effect = o.show[0];
|
|
||||||
speed = o.show[1] || self.speed;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if there's an effect, assume jQuery UI is in use
|
|
||||||
// build the arguments to pass to show()
|
|
||||||
if(effect) {
|
|
||||||
args = [ effect, speed ];
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the scroll of the checkbox container
|
|
||||||
$container.scrollTop(0);
|
|
||||||
|
|
||||||
// show the menu, maybe with a speed/effect combo
|
|
||||||
$.fn.show.apply(menu, args);
|
|
||||||
|
|
||||||
this._resizeMenu();
|
|
||||||
// positon
|
|
||||||
this.position();
|
|
||||||
|
|
||||||
|
|
||||||
// select the first not disabled option or the filter input if available
|
|
||||||
var filter = this.header.find(".ui-multiselect-filter");
|
|
||||||
if(filter.length) {
|
|
||||||
filter.first().find('input').trigger('focus');
|
|
||||||
} else if(this.labels.length){
|
|
||||||
this.labels.filter(':not(.ui-state-disabled)').eq(0).trigger('mouseover').trigger('mouseenter').find('input').trigger('focus');
|
|
||||||
} else {
|
|
||||||
this.header.find('a').first().trigger('focus');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
button.addClass('ui-state-active');
|
|
||||||
this._isOpen = true;
|
|
||||||
this._trigger('open');
|
|
||||||
},
|
|
||||||
|
|
||||||
// close the menu
|
|
||||||
close: function() {
|
|
||||||
if(this._trigger('beforeclose') === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var o = this.options;
|
|
||||||
var effect = o.hide;
|
|
||||||
var speed = this.speed;
|
|
||||||
var args = [];
|
|
||||||
|
|
||||||
// figure out opening effects/speeds
|
|
||||||
if($.isArray(o.hide)) {
|
|
||||||
effect = o.hide[0];
|
|
||||||
speed = o.hide[1] || this.speed;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(effect) {
|
|
||||||
args = [ effect, speed ];
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.hide.apply(this.menu, args);
|
|
||||||
this.button.removeClass('ui-state-active').trigger('blur').trigger('mouseleave');
|
|
||||||
this._isOpen = false;
|
|
||||||
this._trigger('close');
|
|
||||||
this.button.trigger('focus');
|
|
||||||
},
|
|
||||||
|
|
||||||
enable: function() {
|
|
||||||
this._toggleDisabled(false);
|
|
||||||
},
|
|
||||||
|
|
||||||
disable: function() {
|
|
||||||
this._toggleDisabled(true);
|
|
||||||
},
|
|
||||||
|
|
||||||
checkAll: function(e) {
|
|
||||||
this._toggleChecked(true);
|
|
||||||
this._trigger('checkAll');
|
|
||||||
},
|
|
||||||
|
|
||||||
uncheckAll: function() {
|
|
||||||
this._toggleChecked(false);
|
|
||||||
this._trigger('uncheckAll');
|
|
||||||
},
|
|
||||||
|
|
||||||
getChecked: function() {
|
|
||||||
return this.menu.find('input').filter(':checked');
|
|
||||||
},
|
|
||||||
|
|
||||||
getUnchecked: function() {
|
|
||||||
return this.menu.find('input').not(':checked');
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function() {
|
|
||||||
// remove classes + data
|
|
||||||
$.Widget.prototype.destroy.call(this);
|
|
||||||
|
|
||||||
// unbind events
|
|
||||||
$doc.unbind(this._namespaceID);
|
|
||||||
$(this.element[0].form).unbind(this._namespaceID);
|
|
||||||
|
|
||||||
this.button.remove();
|
|
||||||
this.menu.remove();
|
|
||||||
this.element.show();
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
|
|
||||||
isOpen: function() {
|
|
||||||
return this._isOpen;
|
|
||||||
},
|
|
||||||
|
|
||||||
widget: function() {
|
|
||||||
return this.menu;
|
|
||||||
},
|
|
||||||
|
|
||||||
getButton: function() {
|
|
||||||
return this.button;
|
|
||||||
},
|
|
||||||
|
|
||||||
getMenu: function() {
|
|
||||||
return this.menu;
|
|
||||||
},
|
|
||||||
|
|
||||||
getLabels: function() {
|
|
||||||
return this.labels;
|
|
||||||
},
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Adds an option to the widget and underlying select
|
|
||||||
* attributes: Attributes hash to add to the option
|
|
||||||
* text: text of the option
|
|
||||||
* groupLabel: Option Group to add the option to
|
|
||||||
*/
|
|
||||||
addOption: function(attributes, text, groupLabel) {
|
|
||||||
var $option = $("<option/>").attr(attributes).text(text);
|
|
||||||
var optionNode = $option.get(0);
|
|
||||||
if(groupLabel) {
|
|
||||||
this.element.children("OPTGROUP").filter(function() {
|
|
||||||
return $(this).prop("label") === groupLabel;
|
|
||||||
}).append($option);
|
|
||||||
this.menu.find(".ui-multiselect-optgroup").filter(function() {
|
|
||||||
return $(this).find("a").text() === groupLabel;
|
|
||||||
}).append(this._makeOption(optionNode));
|
|
||||||
} else {
|
|
||||||
this.element.append($option);
|
|
||||||
this.menu.find(".ui-multiselect-checkboxes").append(this._makeOption(optionNode));
|
|
||||||
}
|
|
||||||
//update cached elements
|
|
||||||
this.labels = this.menu.find('label');
|
|
||||||
this.inputs = this.labels.children('input');
|
|
||||||
},
|
|
||||||
|
|
||||||
removeOption: function(value) {
|
|
||||||
if(!value) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.element.find("option[value=" + value + "]").remove();
|
|
||||||
this.labels.find("input[value=" + value + "]").parents("li").remove();
|
|
||||||
|
|
||||||
//update cached elements
|
|
||||||
this.labels = this.menu.find('label');
|
|
||||||
this.inputs = this.labels.children('input');
|
|
||||||
},
|
|
||||||
|
|
||||||
position: function() {
|
|
||||||
var pos = {
|
|
||||||
my: "top",
|
|
||||||
at: "bottom",
|
|
||||||
of: this.button
|
|
||||||
};
|
|
||||||
if(!$.isEmptyObject(this.options.position)) {
|
|
||||||
pos.my = this.options.position.my || pos.my;
|
|
||||||
pos.at = this.options.position.at || pos.at;
|
|
||||||
pos.of = this.options.position.of || pos.of;
|
|
||||||
}
|
|
||||||
if($.ui && $.ui.position) {
|
|
||||||
this.menu.position(pos);
|
|
||||||
} else {
|
|
||||||
pos = this.button.position();
|
|
||||||
pos.top += this.button.outerHeight(false);
|
|
||||||
this.menu.offset(pos);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// react to option changes after initialization
|
|
||||||
_setOption: function(key, value) {
|
|
||||||
var menu = this.menu;
|
|
||||||
|
|
||||||
switch(key) {
|
|
||||||
case 'header':
|
|
||||||
if(typeof value === 'boolean') {
|
|
||||||
this.header[value ? 'show' : 'hide']();
|
|
||||||
} else if(typeof value === 'string') {
|
|
||||||
this.headerLinkContainer.children("li:not(:last-child)").remove();
|
|
||||||
this.headerLinkContainer.prepend("<li>" + value + "</li>");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'checkAllText':
|
|
||||||
menu.find('a.ui-multiselect-all span').eq(-1).text(value);
|
|
||||||
break;
|
|
||||||
case 'uncheckAllText':
|
|
||||||
menu.find('a.ui-multiselect-none span').eq(-1).text(value);
|
|
||||||
break;
|
|
||||||
case 'height':
|
|
||||||
this.options[key] = value;
|
|
||||||
this._setMenuHeight();
|
|
||||||
break;
|
|
||||||
case 'minWidth':
|
|
||||||
case 'menuWidth':
|
|
||||||
this.options[key] = value;
|
|
||||||
this._setButtonWidth();
|
|
||||||
this._setMenuWidth();
|
|
||||||
break;
|
|
||||||
case 'selectedText':
|
|
||||||
case 'selectedList':
|
|
||||||
case 'noneSelectedText':
|
|
||||||
this.options[key] = value; // these all needs to update immediately for the update() call
|
|
||||||
this.update();
|
|
||||||
break;
|
|
||||||
case 'classes':
|
|
||||||
menu.add(this.button).removeClass(this.options.classes).addClass(value);
|
|
||||||
break;
|
|
||||||
case 'multiple':
|
|
||||||
menu.toggleClass('ui-multiselect-single', !value);
|
|
||||||
this.options.multiple = value;
|
|
||||||
this.element[0].multiple = value;
|
|
||||||
this.uncheckAll();
|
|
||||||
this.refresh();
|
|
||||||
break;
|
|
||||||
case 'position':
|
|
||||||
this.position();
|
|
||||||
break;
|
|
||||||
case 'selectedListSeparator':
|
|
||||||
this.options[key] = value;
|
|
||||||
this.update(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$.Widget.prototype._setOption.apply(this, arguments);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "jquery-ui",
|
|
||||||
"title": "jQuery UI",
|
|
||||||
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
|
|
||||||
"version": "1.12.1",
|
|
||||||
"homepage": "http://jqueryui.com",
|
|
||||||
"author": {
|
|
||||||
"name": "jQuery Foundation and other contributors",
|
|
||||||
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
|
|
||||||
},
|
|
||||||
"main": "ui/widget.js",
|
|
||||||
"maintainers": [
|
|
||||||
{
|
|
||||||
"name": "Scott González",
|
|
||||||
"email": "scott.gonzalez@gmail.com",
|
|
||||||
"url": "http://scottgonzalez.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jörn Zaefferer",
|
|
||||||
"email": "joern.zaefferer@gmail.com",
|
|
||||||
"url": "http://bassistance.de"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mike Sherov",
|
|
||||||
"email": "mike.sherov@gmail.com",
|
|
||||||
"url": "http://mike.sherov.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "TJ VanToll",
|
|
||||||
"email": "tj.vantoll@gmail.com",
|
|
||||||
"url": "http://tjvantoll.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Felix Nagel",
|
|
||||||
"email": "info@felixnagel.com",
|
|
||||||
"url": "http://www.felixnagel.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alex Schmitz",
|
|
||||||
"email": "arschmitz@gmail.com",
|
|
||||||
"url": "https://github.com/arschmitz"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/jquery/jquery-ui.git"
|
|
||||||
},
|
|
||||||
"bugs": "https://bugs.jqueryui.com/",
|
|
||||||
"license": "MIT",
|
|
||||||
"scripts": {
|
|
||||||
"test": "grunt"
|
|
||||||
},
|
|
||||||
"dependencies": {},
|
|
||||||
"devDependencies": {
|
|
||||||
"commitplease": "2.3.0",
|
|
||||||
"grunt": "0.4.5",
|
|
||||||
"grunt-bowercopy": "1.2.4",
|
|
||||||
"grunt-cli": "0.1.13",
|
|
||||||
"grunt-compare-size": "0.4.0",
|
|
||||||
"grunt-contrib-concat": "0.5.1",
|
|
||||||
"grunt-contrib-csslint": "0.5.0",
|
|
||||||
"grunt-contrib-jshint": "0.12.0",
|
|
||||||
"grunt-contrib-qunit": "1.0.1",
|
|
||||||
"grunt-contrib-requirejs": "0.4.4",
|
|
||||||
"grunt-contrib-uglify": "0.11.1",
|
|
||||||
"grunt-git-authors": "3.1.0",
|
|
||||||
"grunt-html": "6.0.0",
|
|
||||||
"grunt-jscs": "2.1.0",
|
|
||||||
"load-grunt-tasks": "3.4.0",
|
|
||||||
"rimraf": "2.5.1",
|
|
||||||
"testswarm": "1.1.0"
|
|
||||||
},
|
|
||||||
"keywords": []
|
|
||||||
}
|
|
||||||
@@ -1,507 +0,0 @@
|
|||||||
/***
|
|
||||||
Spectrum Colorpicker v1.5.1
|
|
||||||
https://github.com/bgrins/spectrum
|
|
||||||
Author: Brian Grinstead
|
|
||||||
License: MIT
|
|
||||||
***/
|
|
||||||
|
|
||||||
.sp-container {
|
|
||||||
position:absolute;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
display:inline-block;
|
|
||||||
*display: inline;
|
|
||||||
*zoom: 1;
|
|
||||||
/* https://github.com/bgrins/spectrum/issues/40 */
|
|
||||||
z-index: 9999994;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.sp-container.sp-flat {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Fix for * { box-sizing: border-box; } */
|
|
||||||
.sp-container,
|
|
||||||
.sp-container * {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
|
|
||||||
.sp-top {
|
|
||||||
position:relative;
|
|
||||||
width: 100%;
|
|
||||||
display:inline-block;
|
|
||||||
}
|
|
||||||
.sp-top-inner {
|
|
||||||
position:absolute;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
bottom:0;
|
|
||||||
right:0;
|
|
||||||
}
|
|
||||||
.sp-color {
|
|
||||||
position: absolute;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
bottom:0;
|
|
||||||
right:20%;
|
|
||||||
}
|
|
||||||
.sp-hue {
|
|
||||||
position: absolute;
|
|
||||||
top:0;
|
|
||||||
right:0;
|
|
||||||
bottom:0;
|
|
||||||
left:84%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-clear-enabled .sp-hue {
|
|
||||||
top:33px;
|
|
||||||
height: 77.5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-fill {
|
|
||||||
padding-top: 80%;
|
|
||||||
}
|
|
||||||
.sp-sat, .sp-val {
|
|
||||||
position: absolute;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
right:0;
|
|
||||||
bottom:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-alpha-enabled .sp-top {
|
|
||||||
margin-bottom: 18px;
|
|
||||||
}
|
|
||||||
.sp-alpha-enabled .sp-alpha {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.sp-alpha-handle {
|
|
||||||
position:absolute;
|
|
||||||
top:-4px;
|
|
||||||
bottom: -4px;
|
|
||||||
width: 6px;
|
|
||||||
left: 50%;
|
|
||||||
cursor: pointer;
|
|
||||||
border: 1px solid black;
|
|
||||||
background: white;
|
|
||||||
opacity: .8;
|
|
||||||
}
|
|
||||||
.sp-alpha {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
bottom: -14px;
|
|
||||||
right: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 8px;
|
|
||||||
}
|
|
||||||
.sp-alpha-inner {
|
|
||||||
border: solid 1px #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-clear {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-clear.sp-clear-display {
|
|
||||||
background-position: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-clear-enabled .sp-clear {
|
|
||||||
display: block;
|
|
||||||
position:absolute;
|
|
||||||
top:0px;
|
|
||||||
right:0;
|
|
||||||
bottom:0;
|
|
||||||
left:84%;
|
|
||||||
height: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Don't allow text selection */
|
|
||||||
.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
|
|
||||||
-webkit-user-select:none;
|
|
||||||
-moz-user-select: -moz-none;
|
|
||||||
-o-user-select:none;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-container.sp-input-disabled .sp-input-container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.sp-container.sp-buttons-disabled .sp-button-container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.sp-palette-only .sp-picker-container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.sp-palette-disabled .sp-palette-container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-initial-disabled .sp-initial {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
|
|
||||||
.sp-sat {
|
|
||||||
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
|
|
||||||
background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
|
|
||||||
background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
|
|
||||||
filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');
|
|
||||||
}
|
|
||||||
.sp-val {
|
|
||||||
background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0)));
|
|
||||||
background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
|
||||||
background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
|
|
||||||
background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
|
|
||||||
filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000');
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-hue {
|
|
||||||
background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
|
||||||
background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
|
||||||
background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
|
|
||||||
background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
|
||||||
background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* IE filters do not support multiple color stops.
|
|
||||||
Generate 6 divs, line them up, and do two color gradients for each.
|
|
||||||
Yes, really.
|
|
||||||
*/
|
|
||||||
.sp-1 {
|
|
||||||
height:17%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
|
|
||||||
}
|
|
||||||
.sp-2 {
|
|
||||||
height:16%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00');
|
|
||||||
}
|
|
||||||
.sp-3 {
|
|
||||||
height:17%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff');
|
|
||||||
}
|
|
||||||
.sp-4 {
|
|
||||||
height:17%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff');
|
|
||||||
}
|
|
||||||
.sp-5 {
|
|
||||||
height:16%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff');
|
|
||||||
}
|
|
||||||
.sp-6 {
|
|
||||||
height:17%;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000');
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-hidden {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clearfix hack */
|
|
||||||
.sp-cf:before, .sp-cf:after { content: ""; display: table; }
|
|
||||||
.sp-cf:after { clear: both; }
|
|
||||||
.sp-cf { *zoom: 1; }
|
|
||||||
|
|
||||||
/* Mobile devices, make hue slider bigger so it is easier to slide */
|
|
||||||
@media (max-device-width: 480px) {
|
|
||||||
.sp-color { right: 40%; }
|
|
||||||
.sp-hue { left: 63%; }
|
|
||||||
.sp-fill { padding-top: 60%; }
|
|
||||||
}
|
|
||||||
.sp-dragger {
|
|
||||||
border-radius: 5px;
|
|
||||||
height: 5px;
|
|
||||||
width: 5px;
|
|
||||||
border: 1px solid #fff;
|
|
||||||
background: #000;
|
|
||||||
cursor: pointer;
|
|
||||||
position:absolute;
|
|
||||||
top:0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.sp-slider {
|
|
||||||
position: absolute;
|
|
||||||
top:0;
|
|
||||||
cursor:pointer;
|
|
||||||
height: 3px;
|
|
||||||
left: -1px;
|
|
||||||
right: -1px;
|
|
||||||
border: 1px solid #000;
|
|
||||||
background: white;
|
|
||||||
opacity: .8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Theme authors:
|
|
||||||
Here are the basic themeable display options (colors, fonts, global widths).
|
|
||||||
See http://bgrins.github.io/spectrum/themes/ for instructions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
.sp-container {
|
|
||||||
border-radius: 0;
|
|
||||||
background-color: #ECECEC;
|
|
||||||
border: solid 1px #f0c49B;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear {
|
|
||||||
font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
-ms-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.sp-top {
|
|
||||||
margin-bottom: 3px;
|
|
||||||
}
|
|
||||||
.sp-color, .sp-hue, .sp-clear {
|
|
||||||
border: solid 1px #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Input */
|
|
||||||
.sp-input-container {
|
|
||||||
float:right;
|
|
||||||
width: 100px;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
}
|
|
||||||
.sp-initial-disabled .sp-input-container {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.sp-input {
|
|
||||||
font-size: 12px !important;
|
|
||||||
border: 1px inset;
|
|
||||||
padding: 4px 5px;
|
|
||||||
margin: 0;
|
|
||||||
width: 100%;
|
|
||||||
background:transparent;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
.sp-input:focus {
|
|
||||||
border: 1px solid orange;
|
|
||||||
}
|
|
||||||
.sp-input.sp-validation-error {
|
|
||||||
border: 1px solid red;
|
|
||||||
background: #fdd;
|
|
||||||
}
|
|
||||||
.sp-picker-container , .sp-palette-container {
|
|
||||||
float:left;
|
|
||||||
position: relative;
|
|
||||||
padding: 10px;
|
|
||||||
padding-bottom: 300px;
|
|
||||||
margin-bottom: -290px;
|
|
||||||
}
|
|
||||||
.sp-picker-container {
|
|
||||||
width: 172px;
|
|
||||||
border-left: solid 1px #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Palettes */
|
|
||||||
.sp-palette-container {
|
|
||||||
border-right: solid 1px #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette-only .sp-palette-container {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette .sp-thumb-el {
|
|
||||||
display: block;
|
|
||||||
position:relative;
|
|
||||||
float:left;
|
|
||||||
width: 24px;
|
|
||||||
height: 15px;
|
|
||||||
margin: 3px;
|
|
||||||
cursor: pointer;
|
|
||||||
border:solid 2px transparent;
|
|
||||||
}
|
|
||||||
.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
|
|
||||||
border-color: orange;
|
|
||||||
}
|
|
||||||
.sp-thumb-el {
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Initial */
|
|
||||||
.sp-initial {
|
|
||||||
float: left;
|
|
||||||
border: solid 1px #333;
|
|
||||||
}
|
|
||||||
.sp-initial span {
|
|
||||||
width: 30px;
|
|
||||||
height: 25px;
|
|
||||||
border:none;
|
|
||||||
display:block;
|
|
||||||
float:left;
|
|
||||||
margin:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-initial .sp-clear-display {
|
|
||||||
background-position: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Buttons */
|
|
||||||
.sp-palette-button-container,
|
|
||||||
.sp-button-container {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Replacer (the little preview div that shows up instead of the <input>) */
|
|
||||||
.sp-replacer {
|
|
||||||
margin:0;
|
|
||||||
overflow:hidden;
|
|
||||||
cursor:pointer;
|
|
||||||
padding: 4px;
|
|
||||||
display:inline-block;
|
|
||||||
*zoom: 1;
|
|
||||||
*display: inline;
|
|
||||||
border: solid 1px #91765d;
|
|
||||||
background: #eee;
|
|
||||||
color: #333;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.sp-replacer:hover, .sp-replacer.sp-active {
|
|
||||||
border-color: #F0C49B;
|
|
||||||
color: #111;
|
|
||||||
}
|
|
||||||
.sp-replacer.sp-disabled {
|
|
||||||
cursor:default;
|
|
||||||
border-color: silver;
|
|
||||||
color: silver;
|
|
||||||
}
|
|
||||||
.sp-dd {
|
|
||||||
padding: 2px 0;
|
|
||||||
height: 16px;
|
|
||||||
line-height: 16px;
|
|
||||||
float:left;
|
|
||||||
font-size:10px;
|
|
||||||
}
|
|
||||||
.sp-preview {
|
|
||||||
position:relative;
|
|
||||||
width:25px;
|
|
||||||
height: 20px;
|
|
||||||
border: solid 1px #222;
|
|
||||||
margin-right: 5px;
|
|
||||||
float:left;
|
|
||||||
z-index: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette {
|
|
||||||
*width: 220px;
|
|
||||||
max-width: 220px;
|
|
||||||
}
|
|
||||||
.sp-palette .sp-thumb-el {
|
|
||||||
width:16px;
|
|
||||||
height: 16px;
|
|
||||||
margin:2px 1px;
|
|
||||||
border: solid 1px #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-container {
|
|
||||||
padding-bottom:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Buttons: http://hellohappy.org/css3-buttons/ */
|
|
||||||
.sp-container button {
|
|
||||||
background-color: #eeeeee;
|
|
||||||
background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
|
|
||||||
background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
|
|
||||||
background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
|
|
||||||
background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
|
|
||||||
background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
border-bottom: 1px solid #bbb;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: #333;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 1;
|
|
||||||
padding: 5px 4px;
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 1px 0 #eee;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.sp-container button:hover {
|
|
||||||
background-color: #dddddd;
|
|
||||||
background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
|
|
||||||
background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
|
|
||||||
background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
|
|
||||||
background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
|
|
||||||
background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
|
|
||||||
border: 1px solid #bbb;
|
|
||||||
border-bottom: 1px solid #999;
|
|
||||||
cursor: pointer;
|
|
||||||
text-shadow: 0 1px 0 #ddd;
|
|
||||||
}
|
|
||||||
.sp-container button:active {
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-bottom: 1px solid #888;
|
|
||||||
-webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
|
||||||
-moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
|
||||||
-ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
|
||||||
-o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
|
||||||
box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
|
|
||||||
}
|
|
||||||
.sp-cancel {
|
|
||||||
font-size: 11px;
|
|
||||||
color: #d93f3f !important;
|
|
||||||
margin:0;
|
|
||||||
padding:2px;
|
|
||||||
margin-right: 5px;
|
|
||||||
vertical-align: middle;
|
|
||||||
text-decoration:none;
|
|
||||||
|
|
||||||
}
|
|
||||||
.sp-cancel:hover {
|
|
||||||
color: #d93f3f !important;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.sp-palette span:hover, .sp-palette span.sp-thumb-active {
|
|
||||||
border-color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-preview, .sp-alpha, .sp-thumb-el {
|
|
||||||
position:relative;
|
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
|
|
||||||
}
|
|
||||||
.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner {
|
|
||||||
display:block;
|
|
||||||
position:absolute;
|
|
||||||
top:0;left:0;bottom:0;right:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette .sp-thumb-inner {
|
|
||||||
background-position: 50% 50%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
|
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
|
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sp-clear-display {
|
|
||||||
background-repeat:no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
Authors ordered by first contribution
|
Authors ordered by first contribution
|
||||||
A list of current team members is available at http://jqueryui.com/about
|
A list of current team members is available at https://jqueryui.com/about
|
||||||
|
|
||||||
Paul Bakaus <paul.bakaus@gmail.com>
|
Paul Bakaus <paul.bakaus@gmail.com>
|
||||||
Richard Worth <rdworth@gmail.com>
|
Richard Worth <rdworth@gmail.com>
|
||||||
@@ -42,7 +42,7 @@ Adam Sontag <ajpiano@ajpiano.com>
|
|||||||
Carl Fürstenberg <carl@excito.com>
|
Carl Fürstenberg <carl@excito.com>
|
||||||
Kevin Dalman <development@allpro.net>
|
Kevin Dalman <development@allpro.net>
|
||||||
Alberto Fernández Capel <afcapel@gmail.com>
|
Alberto Fernández Capel <afcapel@gmail.com>
|
||||||
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
|
Jacek Jędrzejewski (https://jacek.jedrzejewski.name)
|
||||||
Ting Kuei <ting@kuei.com>
|
Ting Kuei <ting@kuei.com>
|
||||||
Samuel Cormier-Iijima <sam@chide.it>
|
Samuel Cormier-Iijima <sam@chide.it>
|
||||||
Jon Palmer <jonspalmer@gmail.com>
|
Jon Palmer <jonspalmer@gmail.com>
|
||||||
@@ -312,7 +312,7 @@ Mani Mishra <manimishra902@gmail.com>
|
|||||||
Hannah Methvin <hannahmethvin@gmail.com>
|
Hannah Methvin <hannahmethvin@gmail.com>
|
||||||
Leonardo Balter <leonardo.balter@gmail.com>
|
Leonardo Balter <leonardo.balter@gmail.com>
|
||||||
Benjamin Albert <benjamin_a5@yahoo.com>
|
Benjamin Albert <benjamin_a5@yahoo.com>
|
||||||
Michał Gołębiowski <m.goleb@gmail.com>
|
Michał Gołębiowski-Owczarek <m.goleb@gmail.com>
|
||||||
Alyosha Pushak <alyosha.pushak@gmail.com>
|
Alyosha Pushak <alyosha.pushak@gmail.com>
|
||||||
Fahad Ahmad <fahadahmad41@hotmail.com>
|
Fahad Ahmad <fahadahmad41@hotmail.com>
|
||||||
Matt Brundage <github@mattbrundage.com>
|
Matt Brundage <github@mattbrundage.com>
|
||||||
@@ -331,3 +331,54 @@ Peter Dave Hello <hsu@peterdavehello.org>
|
|||||||
Johannes Schäfer <johnschaefer@gmx.de>
|
Johannes Schäfer <johnschaefer@gmx.de>
|
||||||
Ville Skyttä <ville.skytta@iki.fi>
|
Ville Skyttä <ville.skytta@iki.fi>
|
||||||
Ryan Oriecuia <ryan.oriecuia@visioncritical.com>
|
Ryan Oriecuia <ryan.oriecuia@visioncritical.com>
|
||||||
|
Sergei Ratnikov <sergeir82@gmail.com>
|
||||||
|
milk54 <milk851@gmail.com>
|
||||||
|
Evelyn Masso <evoutofambit@gmail.com>
|
||||||
|
Robin <mail@robin-fowler.com>
|
||||||
|
Simon Asika <asika32764@gmail.com>
|
||||||
|
Kevin Cupp <kevin.cupp@gmail.com>
|
||||||
|
Jeremy Mickelson <Jeremy.Mickelson@gmail.com>
|
||||||
|
Kyle Rosenberg <kyle.rosenberg@gmail.com>
|
||||||
|
Petri Partio <petri.partio@gmail.com>
|
||||||
|
pallxk <github@pallxk.com>
|
||||||
|
Luke Brookhart <luke@onjax.com>
|
||||||
|
claudi <hirt-claudia@gmx.de>
|
||||||
|
Eirik Sletteberg <eiriksletteberg@gmail.com>
|
||||||
|
Albert Johansson <albert@intervaro.se>
|
||||||
|
A. Wells <borgboyone@users.noreply.github.com>
|
||||||
|
Robert Brignull <robertbrignull@gmail.com>
|
||||||
|
Horus68 <pauloizidoro@gmail.com>
|
||||||
|
Maksymenkov Eugene <foatei@gmail.com>
|
||||||
|
OskarNS <soerensen.oskar@gmail.com>
|
||||||
|
Gez Quinn <holla@gezquinn.design>
|
||||||
|
jigar gala <jigar.gala140291@gmail.com>
|
||||||
|
Florian Wegscheider <flo.wegscheider@gmail.com>
|
||||||
|
Fatér Zsolt <fater.zsolt@gmail.com>
|
||||||
|
Szabolcs Szabolcsi-Toth <nec@shell8.net>
|
||||||
|
Jérémy Munsch <github@jeremydev.ovh>
|
||||||
|
Hrvoje Novosel <hrvoje.novosel@gmail.com>
|
||||||
|
Paul Capron <PaulCapron@users.noreply.github.com>
|
||||||
|
Micah Miller <mikhey@runbox.com>
|
||||||
|
sakshi87 <53863764+sakshi87@users.noreply.github.com>
|
||||||
|
Mikolaj Wolicki <wolicki.mikolaj@gmail.com>
|
||||||
|
Patrick McKay <patrick.mckay@vumc.org>
|
||||||
|
c-lambert <58025159+c-lambert@users.noreply.github.com>
|
||||||
|
Josep Sanz <josepsanzcamp@gmail.com>
|
||||||
|
Ben Mullins <benm@umich.edu>
|
||||||
|
Christian Oliff <christianoliff@pm.me>
|
||||||
|
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
||||||
|
Adam Lidén Hällgren <adamlh92@gmail.com>
|
||||||
|
James Hinderks <hinderks@gmail.com>
|
||||||
|
Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com>
|
||||||
|
Matías Cánepa <matias.canepa@gmail.com>
|
||||||
|
Ashish Kurmi <100655670+boahc077@users.noreply.github.com>
|
||||||
|
DeerBear <andrea.raimondi@gmail.com>
|
||||||
|
Дилян Палаузов <dpa-github@aegee.org>
|
||||||
|
Kenneth DeBacker <kcdebacker@gmail.com>
|
||||||
|
Timo Tijhof <krinkle@fastmail.com>
|
||||||
|
Timmy Willison <timmywil@users.noreply.github.com>
|
||||||
|
divdeploy <166095818+divdeploy@users.noreply.github.com>
|
||||||
|
mark van tilburg <markvantilburg@gmail.com>
|
||||||
|
Ralf Koller <1665422+rpkoller@users.noreply.github.com>
|
||||||
|
Porter Clevidence <116387727+porterclev@users.noreply.github.com>
|
||||||
|
Daniel García <93217193+Daniel-Garmig@users.noreply.github.com>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright jQuery Foundation and other contributors, https://jquery.org/
|
Copyright OpenJS Foundation and other contributors, https://openjsf.org/
|
||||||
|
|
||||||
This software consists of voluntary contributions made by many
|
This software consists of voluntary contributions made by many
|
||||||
individuals. For exact contribution history, see the revision history
|
individuals. For exact contribution history, see the revision history
|
||||||
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 371 B |
|
After Width: | Height: | Size: 432 B |
BIN
distfiles/jquery-ui-1.14.2/images/ui-icons_4b8e0b_256x240.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
distfiles/jquery-ui-1.14.2/images/ui-icons_a83300_256x240.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
distfiles/jquery-ui-1.14.2/images/ui-icons_cccccc_256x240.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
distfiles/jquery-ui-1.14.2/images/ui-icons_ffffff_256x240.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
@@ -58,7 +58,6 @@
|
|||||||
|
|
||||||
<h1>YOUR COMPONENTS:</h1>
|
<h1>YOUR COMPONENTS:</h1>
|
||||||
|
|
||||||
|
|
||||||
<!-- Accordion -->
|
<!-- Accordion -->
|
||||||
<h2 class="demoHeaders">Accordion</h2>
|
<h2 class="demoHeaders">Accordion</h2>
|
||||||
<div id="accordion">
|
<div id="accordion">
|
||||||
@@ -70,23 +69,17 @@
|
|||||||
<div>Nam dui erat, auctor a, dignissim quis.</div>
|
<div>Nam dui erat, auctor a, dignissim quis.</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Autocomplete -->
|
<!-- Autocomplete -->
|
||||||
<h2 class="demoHeaders">Autocomplete</h2>
|
<h2 class="demoHeaders">Autocomplete</h2>
|
||||||
<div>
|
<div>
|
||||||
<input id="autocomplete" title="type "a"">
|
<input id="autocomplete" title="type "a"">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Button -->
|
<!-- Button -->
|
||||||
<h2 class="demoHeaders">Button</h2>
|
<h2 class="demoHeaders">Button</h2>
|
||||||
<button id="button">A button element</button>
|
<button id="button">A button element</button>
|
||||||
<button id="button-icon">An icon-only button</button>
|
<button id="button-icon">An icon-only button</button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Checkboxradio -->
|
<!-- Checkboxradio -->
|
||||||
<h2 class="demoHeaders">Checkboxradio</h2>
|
<h2 class="demoHeaders">Checkboxradio</h2>
|
||||||
<form style="margin-top: 1em;">
|
<form style="margin-top: 1em;">
|
||||||
@@ -97,8 +90,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Controlgroup -->
|
<!-- Controlgroup -->
|
||||||
<h2 class="demoHeaders">Controlgroup</h2>
|
<h2 class="demoHeaders">Controlgroup</h2>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@@ -125,8 +116,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Tabs -->
|
<!-- Tabs -->
|
||||||
<h2 class="demoHeaders">Tabs</h2>
|
<h2 class="demoHeaders">Tabs</h2>
|
||||||
<div id="tabs">
|
<div id="tabs">
|
||||||
@@ -140,8 +129,6 @@
|
|||||||
<div id="tabs-3">Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.</div>
|
<div id="tabs-3">Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="demoHeaders">Dialog</h2>
|
<h2 class="demoHeaders">Dialog</h2>
|
||||||
<p>
|
<p>
|
||||||
<button id="dialog-link" class="ui-button ui-corner-all ui-widget">
|
<button id="dialog-link" class="ui-button ui-corner-all ui-widget">
|
||||||
@@ -167,7 +154,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="demoHeaders">Framework Icons (content color preview)</h2>
|
<h2 class="demoHeaders">Framework Icons (content color preview)</h2>
|
||||||
<ul id="icons" class="ui-widget ui-helper-clearfix">
|
<ul id="icons" class="ui-widget ui-helper-clearfix">
|
||||||
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-n"><span class="ui-icon ui-icon-caret-1-n"></span></li>
|
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-n"><span class="ui-icon ui-icon-caret-1-n"></span></li>
|
||||||
@@ -345,25 +331,18 @@
|
|||||||
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li>
|
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<!-- Slider -->
|
<!-- Slider -->
|
||||||
<h2 class="demoHeaders">Slider</h2>
|
<h2 class="demoHeaders">Slider</h2>
|
||||||
<div id="slider"></div>
|
<div id="slider"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Datepicker -->
|
<!-- Datepicker -->
|
||||||
<h2 class="demoHeaders">Datepicker</h2>
|
<h2 class="demoHeaders">Datepicker</h2>
|
||||||
<div id="datepicker"></div>
|
<div id="datepicker"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Progressbar -->
|
<!-- Progressbar -->
|
||||||
<h2 class="demoHeaders">Progressbar</h2>
|
<h2 class="demoHeaders">Progressbar</h2>
|
||||||
<div id="progressbar"></div>
|
<div id="progressbar"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Progressbar -->
|
<!-- Progressbar -->
|
||||||
<h2 class="demoHeaders">Selectmenu</h2>
|
<h2 class="demoHeaders">Selectmenu</h2>
|
||||||
<select id="selectmenu">
|
<select id="selectmenu">
|
||||||
@@ -374,14 +353,10 @@
|
|||||||
<option>Faster</option>
|
<option>Faster</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Spinner -->
|
<!-- Spinner -->
|
||||||
<h2 class="demoHeaders">Spinner</h2>
|
<h2 class="demoHeaders">Spinner</h2>
|
||||||
<input id="spinner">
|
<input id="spinner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Menu -->
|
<!-- Menu -->
|
||||||
<h2 class="demoHeaders">Menu</h2>
|
<h2 class="demoHeaders">Menu</h2>
|
||||||
<ul style="width:100px;" id="menu">
|
<ul style="width:100px;" id="menu">
|
||||||
@@ -400,8 +375,6 @@
|
|||||||
<li><div>Item 5</div></li>
|
<li><div>Item 5</div></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Tooltip -->
|
<!-- Tooltip -->
|
||||||
<h2 class="demoHeaders">Tooltip</h2>
|
<h2 class="demoHeaders">Tooltip</h2>
|
||||||
<p id="tooltip">
|
<p id="tooltip">
|
||||||
@@ -409,7 +382,6 @@
|
|||||||
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
|
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<!-- Highlight / Error -->
|
<!-- Highlight / Error -->
|
||||||
<h2 class="demoHeaders">Highlight / Error</h2>
|
<h2 class="demoHeaders">Highlight / Error</h2>
|
||||||
<div class="ui-widget">
|
<div class="ui-widget">
|
||||||
@@ -429,11 +401,8 @@ the element with your mouse, the title attribute is displayed in a little box ne
|
|||||||
<script src="external/jquery/jquery.js"></script>
|
<script src="external/jquery/jquery.js"></script>
|
||||||
<script src="jquery-ui.js"></script>
|
<script src="jquery-ui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
$( "#accordion" ).accordion();
|
$( "#accordion" ).accordion();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var availableTags = [
|
var availableTags = [
|
||||||
"ActionScript",
|
"ActionScript",
|
||||||
"AppleScript",
|
"AppleScript",
|
||||||
@@ -462,28 +431,18 @@ $( "#autocomplete" ).autocomplete({
|
|||||||
source: availableTags
|
source: availableTags
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#button" ).button();
|
$( "#button" ).button();
|
||||||
$( "#button-icon" ).button({
|
$( "#button-icon" ).button({
|
||||||
icon: "ui-icon-gear",
|
icon: "ui-icon-gear",
|
||||||
showLabel: false
|
showLabel: false
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$( "#radioset" ).controlgroup();
|
||||||
|
|
||||||
$( "#radioset" ).buttonset();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#controlgroup" ).controlgroup();
|
$( "#controlgroup" ).controlgroup();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#tabs" ).tabs();
|
$( "#tabs" ).tabs();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#dialog" ).dialog({
|
$( "#dialog" ).dialog({
|
||||||
autoOpen: false,
|
autoOpen: false,
|
||||||
width: 400,
|
width: 400,
|
||||||
@@ -509,42 +468,27 @@ $( "#dialog-link" ).click(function( event ) {
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#datepicker" ).datepicker({
|
$( "#datepicker" ).datepicker({
|
||||||
inline: true
|
inline: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#slider" ).slider({
|
$( "#slider" ).slider({
|
||||||
range: true,
|
range: true,
|
||||||
values: [ 17, 67 ]
|
values: [ 17, 67 ]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#progressbar" ).progressbar({
|
$( "#progressbar" ).progressbar({
|
||||||
value: 20
|
value: 20
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#spinner" ).spinner();
|
$( "#spinner" ).spinner();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#menu" ).menu();
|
$( "#menu" ).menu();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#tooltip" ).tooltip();
|
$( "#tooltip" ).tooltip();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#selectmenu" ).selectmenu();
|
$( "#selectmenu" ).selectmenu();
|
||||||
|
|
||||||
|
|
||||||
// Hover states on the static widgets
|
// Hover states on the static widgets
|
||||||
$( "#dialog-link, #icons li" ).hover(
|
$( "#dialog-link, #icons li" ).hover(
|
||||||
function() {
|
function() {
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
/*! jQuery UI - v1.12.1 - 2018-02-02
|
/*! jQuery UI - v1.14.2 - 2026-06-25
|
||||||
* http://jqueryui.com
|
* https://jqueryui.com
|
||||||
* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css
|
* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css
|
||||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=40&bgImgOpacityHighlight=80&bgImgOpacityActive=30&bgImgOpacityHover=40&bgImgOpacityDefault=20&bgImgOpacityContent=25&bgImgOpacityHeader=25&cornerRadiusShadow=8px&offsetLeftShadow=-7px&offsetTopShadow=-7px&thicknessShadow=7px&opacityShadow=60&bgImgOpacityShadow=30&bgTextureShadow=flat&bgColorShadow=%23cccccc&opacityOverlay=80&bgImgOpacityOverlay=50&bgTextureOverlay=flat&bgColorOverlay=%235c5c5c&iconColorError=%23a83300&fcError=%23111111&borderColorError=%23ffb73d&bgTextureError=glass&bgColorError=%23ffc73d&iconColorHighlight=%234b8e0b&fcHighlight=%232e7db2&borderColorHighlight=%23cccccc&bgTextureHighlight=highlight_soft&bgColorHighlight=%23eeeeee&iconColorActive=%23ffffff&fcActive=%23000000&borderColorActive=%23ffffff&bgTextureActive=inset_soft&bgColorActive=%23afe4e3&iconColorHover=%23ffffff&fcHover=%23ffffff&borderColorHover=%2359b4d4&bgTextureHover=flat&bgColorHover=%23508ca0&iconColorDefault=%23cccccc&fcDefault=%23eeeeee&borderColorDefault=%23666666&bgTextureDefault=flat&bgColorDefault=%23665d5d&iconColorContent=%23cccccc&fcContent=%23ffffff&borderColorContent=%23666666&bgTextureContent=flat&bgColorContent=%23000000&iconColorHeader=%23ffffff&fcHeader=%23ffffff&borderColorHeader=%23333333&bgTextureHeader=gloss_wave&bgColorHeader=%23333333&cornerRadius=3px&fwDefault=normal&fsDefault=.8em&ffDefault=Segoe%20UI%2CArial%2Csans-serif
|
* To view and modify this theme, visit https://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fsDefault=.8em&fwDefault=normal&cornerRadius=3px&bgColorHeader=%23333333&bgTextureHeader=gloss_wave&borderColorHeader=%23333333&fcHeader=%23ffffff&iconColorHeader=%23ffffff&bgColorContent=%23000000&bgTextureContent=flat&borderColorContent=%23666666&fcContent=%23ffffff&iconColorContent=%23cccccc&bgColorDefault=%23665d5d&bgTextureDefault=flat&borderColorDefault=%23666666&fcDefault=%23eeeeee&iconColorDefault=%23cccccc&bgColorHover=%23508ca0&bgTextureHover=flat&borderColorHover=%2359b4d4&fcHover=%23ffffff&iconColorHover=%23ffffff&bgColorActive=%23afe4e3&bgTextureActive=inset_soft&borderColorActive=%23ffffff&fcActive=%23000000&iconColorActive=%23ffffff&bgColorHighlight=%23eeeeee&bgTextureHighlight=highlight_soft&borderColorHighlight=%23cccccc&fcHighlight=%232e7db2&iconColorHighlight=%234b8e0b&bgColorError=%23ffc73d&bgTextureError=glass&borderColorError=%23ffb73d&fcError=%23111111&iconColorError=%23a83300&bgColorOverlay=%235c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=%23cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px&bgImgOpacityError=40&bgImgOpacityHighlight=80&bgImgOpacityActive=30&bgImgOpacityHover=40&bgImgOpacityDefault=20&bgImgOpacityContent=25&bgImgOpacityHeader=25
|
||||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
* Copyright OpenJS Foundation and other contributors; Licensed MIT */
|
||||||
|
|
||||||
.ui-draggable-handle {
|
.ui-draggable-handle {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
/* Layout helpers
|
/* Layout helpers
|
||||||
@@ -49,7 +48,6 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
filter:Alpha(Opacity=0); /* support: IE8 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-front {
|
.ui-front {
|
||||||
@@ -101,7 +99,6 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: 0.1px;
|
font-size: 0.1px;
|
||||||
display: block;
|
display: block;
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-resizable-disabled .ui-resizable-handle,
|
.ui-resizable-disabled .ui-resizable-handle,
|
||||||
@@ -165,7 +162,6 @@
|
|||||||
top: -5px;
|
top: -5px;
|
||||||
}
|
}
|
||||||
.ui-selectable {
|
.ui-selectable {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-selectable-helper {
|
.ui-selectable-helper {
|
||||||
@@ -174,7 +170,6 @@
|
|||||||
border: 1px dotted black;
|
border: 1px dotted black;
|
||||||
}
|
}
|
||||||
.ui-sortable-handle {
|
.ui-sortable-handle {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-accordion .ui-accordion-header {
|
.ui-accordion .ui-accordion-header {
|
||||||
@@ -209,8 +204,6 @@
|
|||||||
.ui-menu .ui-menu-item {
|
.ui-menu .ui-menu-item {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
/* support: IE10, see #8844 */
|
|
||||||
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
|
||||||
}
|
}
|
||||||
.ui-menu .ui-menu-item-wrapper {
|
.ui-menu .ui-menu-item-wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -260,12 +253,7 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
/* Support: IE <= 11 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-button,
|
.ui-button,
|
||||||
@@ -316,7 +304,7 @@ input.ui-button.ui-icon-notext .ui-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* workarounds */
|
/* workarounds */
|
||||||
/* Support: Firefox 5 - 40 */
|
/* Support: Firefox 5 - 125+ */
|
||||||
input.ui-button::-moz-focus-inner,
|
input.ui-button::-moz-focus-inner,
|
||||||
button.ui-button::-moz-focus-inner {
|
button.ui-button::-moz-focus-inner {
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -367,9 +355,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
|
|
||||||
/* Spinner specific style fixes */
|
/* Spinner specific style fixes */
|
||||||
.ui-controlgroup-vertical .ui-spinner-input {
|
.ui-controlgroup-vertical .ui-spinner-input {
|
||||||
|
|
||||||
/* Support: IE8 only, Android < 4.4 only */
|
|
||||||
width: 75%;
|
|
||||||
width: calc( 100% - 2.4em );
|
width: calc( 100% - 2.4em );
|
||||||
}
|
}
|
||||||
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
||||||
@@ -677,7 +662,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
.ui-progressbar .ui-progressbar-overlay {
|
.ui-progressbar .ui-progressbar-overlay {
|
||||||
background: url("data:image/gif;base64,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");
|
background: url("data:image/gif;base64,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");
|
||||||
height: 100%;
|
height: 100%;
|
||||||
filter: alpha(opacity=25); /* support: IE8 */
|
|
||||||
opacity: 0.25;
|
opacity: 0.25;
|
||||||
}
|
}
|
||||||
.ui-progressbar-indeterminate .ui-progressbar-value {
|
.ui-progressbar-indeterminate .ui-progressbar-value {
|
||||||
@@ -732,8 +716,7 @@ button.ui-button::-moz-focus-inner {
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
height: 1.2em;
|
height: 1.2em;
|
||||||
cursor: default;
|
cursor: pointer;
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-slider .ui-slider-range {
|
.ui-slider .ui-slider-range {
|
||||||
@@ -745,12 +728,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
background-position: 0 0;
|
background-position: 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* support: IE8 - See #6727 */
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-handle,
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-range {
|
|
||||||
filter: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-slider-horizontal {
|
.ui-slider-horizontal {
|
||||||
height: .8em;
|
height: .8em;
|
||||||
}
|
}
|
||||||
@@ -1041,19 +1018,14 @@ a.ui-button:active,
|
|||||||
.ui-widget-content .ui-priority-secondary,
|
.ui-widget-content .ui-priority-secondary,
|
||||||
.ui-widget-header .ui-priority-secondary {
|
.ui-widget-header .ui-priority-secondary {
|
||||||
opacity: .7;
|
opacity: .7;
|
||||||
filter:Alpha(Opacity=70); /* support: IE8 */
|
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
.ui-state-disabled,
|
.ui-state-disabled,
|
||||||
.ui-widget-content .ui-state-disabled,
|
.ui-widget-content .ui-state-disabled,
|
||||||
.ui-widget-header .ui-state-disabled {
|
.ui-widget-header .ui-state-disabled {
|
||||||
opacity: .35;
|
opacity: .35;
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 */
|
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
.ui-state-disabled .ui-icon {
|
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons
|
/* Icons
|
||||||
----------------------------------*/
|
----------------------------------*/
|
||||||
@@ -1093,7 +1065,10 @@ a.ui-button:active,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* positioning */
|
/* positioning */
|
||||||
.ui-icon-blank { background-position: 16px 16px; }
|
/* Three classes needed to override `.ui-button:hover .ui-icon` */
|
||||||
|
.ui-icon-blank.ui-icon-blank.ui-icon-blank {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
.ui-icon-caret-1-n { background-position: 0 0; }
|
.ui-icon-caret-1-n { background-position: 0 0; }
|
||||||
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
||||||
.ui-icon-caret-1-e { background-position: -32px 0; }
|
.ui-icon-caret-1-e { background-position: -32px 0; }
|
||||||
@@ -1304,9 +1279,7 @@ a.ui-button:active,
|
|||||||
.ui-widget-overlay {
|
.ui-widget-overlay {
|
||||||
background: #5c5c5c;
|
background: #5c5c5c;
|
||||||
opacity: .8;
|
opacity: .8;
|
||||||
filter: Alpha(Opacity=80); /* support: IE8 */
|
|
||||||
}
|
}
|
||||||
.ui-widget-shadow {
|
.ui-widget-shadow {
|
||||||
-webkit-box-shadow: -7px -7px 7px #cccccc;
|
|
||||||
box-shadow: -7px -7px 7px #cccccc;
|
box-shadow: -7px -7px 7px #cccccc;
|
||||||
}
|
}
|
||||||
7
distfiles/jquery-ui-1.14.2/jquery-ui.min.css
vendored
Normal file
6
distfiles/jquery-ui-1.14.2/jquery-ui.min.js
vendored
Normal file
@@ -1,15 +1,14 @@
|
|||||||
/*!
|
/*!
|
||||||
* jQuery UI CSS Framework 1.12.1
|
* jQuery UI CSS Framework 1.14.2
|
||||||
* http://jqueryui.com
|
* https://jqueryui.com
|
||||||
*
|
*
|
||||||
* Copyright jQuery Foundation and other contributors
|
* Copyright OpenJS Foundation and other contributors
|
||||||
* Released under the MIT license.
|
* Released under the MIT license.
|
||||||
* http://jquery.org/license
|
* https://jquery.org/license
|
||||||
*
|
*
|
||||||
* http://api.jqueryui.com/category/theming/
|
* https://api.jqueryui.com/category/theming/
|
||||||
*/
|
*/
|
||||||
.ui-draggable-handle {
|
.ui-draggable-handle {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
/* Layout helpers
|
/* Layout helpers
|
||||||
@@ -53,7 +52,6 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
filter:Alpha(Opacity=0); /* support: IE8 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-front {
|
.ui-front {
|
||||||
@@ -105,7 +103,6 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: 0.1px;
|
font-size: 0.1px;
|
||||||
display: block;
|
display: block;
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-resizable-disabled .ui-resizable-handle,
|
.ui-resizable-disabled .ui-resizable-handle,
|
||||||
@@ -169,7 +166,6 @@
|
|||||||
top: -5px;
|
top: -5px;
|
||||||
}
|
}
|
||||||
.ui-selectable {
|
.ui-selectable {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-selectable-helper {
|
.ui-selectable-helper {
|
||||||
@@ -178,7 +174,6 @@
|
|||||||
border: 1px dotted black;
|
border: 1px dotted black;
|
||||||
}
|
}
|
||||||
.ui-sortable-handle {
|
.ui-sortable-handle {
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-accordion .ui-accordion-header {
|
.ui-accordion .ui-accordion-header {
|
||||||
@@ -213,8 +208,6 @@
|
|||||||
.ui-menu .ui-menu-item {
|
.ui-menu .ui-menu-item {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
/* support: IE10, see #8844 */
|
|
||||||
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
|
||||||
}
|
}
|
||||||
.ui-menu .ui-menu-item-wrapper {
|
.ui-menu .ui-menu-item-wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -264,12 +257,7 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
/* Support: IE <= 11 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-button,
|
.ui-button,
|
||||||
@@ -320,7 +308,7 @@ input.ui-button.ui-icon-notext .ui-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* workarounds */
|
/* workarounds */
|
||||||
/* Support: Firefox 5 - 40 */
|
/* Support: Firefox 5 - 125+ */
|
||||||
input.ui-button::-moz-focus-inner,
|
input.ui-button::-moz-focus-inner,
|
||||||
button.ui-button::-moz-focus-inner {
|
button.ui-button::-moz-focus-inner {
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -371,9 +359,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
|
|
||||||
/* Spinner specific style fixes */
|
/* Spinner specific style fixes */
|
||||||
.ui-controlgroup-vertical .ui-spinner-input {
|
.ui-controlgroup-vertical .ui-spinner-input {
|
||||||
|
|
||||||
/* Support: IE8 only, Android < 4.4 only */
|
|
||||||
width: 75%;
|
|
||||||
width: calc( 100% - 2.4em );
|
width: calc( 100% - 2.4em );
|
||||||
}
|
}
|
||||||
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
||||||
@@ -681,7 +666,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
.ui-progressbar .ui-progressbar-overlay {
|
.ui-progressbar .ui-progressbar-overlay {
|
||||||
background: url("data:image/gif;base64,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");
|
background: url("data:image/gif;base64,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");
|
||||||
height: 100%;
|
height: 100%;
|
||||||
filter: alpha(opacity=25); /* support: IE8 */
|
|
||||||
opacity: 0.25;
|
opacity: 0.25;
|
||||||
}
|
}
|
||||||
.ui-progressbar-indeterminate .ui-progressbar-value {
|
.ui-progressbar-indeterminate .ui-progressbar-value {
|
||||||
@@ -736,8 +720,7 @@ button.ui-button::-moz-focus-inner {
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
height: 1.2em;
|
height: 1.2em;
|
||||||
cursor: default;
|
cursor: pointer;
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-slider .ui-slider-range {
|
.ui-slider .ui-slider-range {
|
||||||
@@ -749,12 +732,6 @@ button.ui-button::-moz-focus-inner {
|
|||||||
background-position: 0 0;
|
background-position: 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* support: IE8 - See #6727 */
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-handle,
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-range {
|
|
||||||
filter: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-slider-horizontal {
|
.ui-slider-horizontal {
|
||||||
height: .8em;
|
height: .8em;
|
||||||
}
|
}
|
||||||
5
distfiles/jquery-ui-1.14.2/jquery-ui.structure.min.css
vendored
Normal file
@@ -1,14 +1,14 @@
|
|||||||
/*!
|
/*!
|
||||||
* jQuery UI CSS Framework 1.12.1
|
* jQuery UI CSS Framework 1.14.2
|
||||||
* http://jqueryui.com
|
* https://jqueryui.com
|
||||||
*
|
*
|
||||||
* Copyright jQuery Foundation and other contributors
|
* Copyright OpenJS Foundation and other contributors
|
||||||
* Released under the MIT license.
|
* Released under the MIT license.
|
||||||
* http://jquery.org/license
|
* https://jquery.org/license
|
||||||
*
|
*
|
||||||
* http://api.jqueryui.com/category/theming/
|
* https://api.jqueryui.com/category/theming/
|
||||||
*
|
*
|
||||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=40&bgImgOpacityHighlight=80&bgImgOpacityActive=30&bgImgOpacityHover=40&bgImgOpacityDefault=20&bgImgOpacityContent=25&bgImgOpacityHeader=25&cornerRadiusShadow=8px&offsetLeftShadow=-7px&offsetTopShadow=-7px&thicknessShadow=7px&opacityShadow=60&bgImgOpacityShadow=30&bgTextureShadow=flat&bgColorShadow=%23cccccc&opacityOverlay=80&bgImgOpacityOverlay=50&bgTextureOverlay=flat&bgColorOverlay=%235c5c5c&iconColorError=%23a83300&fcError=%23111111&borderColorError=%23ffb73d&bgTextureError=glass&bgColorError=%23ffc73d&iconColorHighlight=%234b8e0b&fcHighlight=%232e7db2&borderColorHighlight=%23cccccc&bgTextureHighlight=highlight_soft&bgColorHighlight=%23eeeeee&iconColorActive=%23ffffff&fcActive=%23000000&borderColorActive=%23ffffff&bgTextureActive=inset_soft&bgColorActive=%23afe4e3&iconColorHover=%23ffffff&fcHover=%23ffffff&borderColorHover=%2359b4d4&bgTextureHover=flat&bgColorHover=%23508ca0&iconColorDefault=%23cccccc&fcDefault=%23eeeeee&borderColorDefault=%23666666&bgTextureDefault=flat&bgColorDefault=%23665d5d&iconColorContent=%23cccccc&fcContent=%23ffffff&borderColorContent=%23666666&bgTextureContent=flat&bgColorContent=%23000000&iconColorHeader=%23ffffff&fcHeader=%23ffffff&borderColorHeader=%23333333&bgTextureHeader=gloss_wave&bgColorHeader=%23333333&cornerRadius=3px&fwDefault=normal&fsDefault=.8em&ffDefault=Segoe%20UI%2CArial%2Csans-serif
|
* To view and modify this theme, visit https://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fsDefault=.8em&fwDefault=normal&cornerRadius=3px&bgColorHeader=%23333333&bgTextureHeader=gloss_wave&borderColorHeader=%23333333&fcHeader=%23ffffff&iconColorHeader=%23ffffff&bgColorContent=%23000000&bgTextureContent=flat&borderColorContent=%23666666&fcContent=%23ffffff&iconColorContent=%23cccccc&bgColorDefault=%23665d5d&bgTextureDefault=flat&borderColorDefault=%23666666&fcDefault=%23eeeeee&iconColorDefault=%23cccccc&bgColorHover=%23508ca0&bgTextureHover=flat&borderColorHover=%2359b4d4&fcHover=%23ffffff&iconColorHover=%23ffffff&bgColorActive=%23afe4e3&bgTextureActive=inset_soft&borderColorActive=%23ffffff&fcActive=%23000000&iconColorActive=%23ffffff&bgColorHighlight=%23eeeeee&bgTextureHighlight=highlight_soft&borderColorHighlight=%23cccccc&fcHighlight=%232e7db2&iconColorHighlight=%234b8e0b&bgColorError=%23ffc73d&bgTextureError=glass&borderColorError=%23ffb73d&fcError=%23111111&iconColorError=%23a83300&bgColorOverlay=%235c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=%23cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px&bgImgOpacityError=40&bgImgOpacityHighlight=80&bgImgOpacityActive=30&bgImgOpacityHover=40&bgImgOpacityDefault=20&bgImgOpacityContent=25&bgImgOpacityHeader=25
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -172,19 +172,14 @@ a.ui-button:active,
|
|||||||
.ui-widget-content .ui-priority-secondary,
|
.ui-widget-content .ui-priority-secondary,
|
||||||
.ui-widget-header .ui-priority-secondary {
|
.ui-widget-header .ui-priority-secondary {
|
||||||
opacity: .7;
|
opacity: .7;
|
||||||
filter:Alpha(Opacity=70); /* support: IE8 */
|
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
.ui-state-disabled,
|
.ui-state-disabled,
|
||||||
.ui-widget-content .ui-state-disabled,
|
.ui-widget-content .ui-state-disabled,
|
||||||
.ui-widget-header .ui-state-disabled {
|
.ui-widget-header .ui-state-disabled {
|
||||||
opacity: .35;
|
opacity: .35;
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 */
|
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
.ui-state-disabled .ui-icon {
|
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons
|
/* Icons
|
||||||
----------------------------------*/
|
----------------------------------*/
|
||||||
@@ -224,7 +219,10 @@ a.ui-button:active,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* positioning */
|
/* positioning */
|
||||||
.ui-icon-blank { background-position: 16px 16px; }
|
/* Three classes needed to override `.ui-button:hover .ui-icon` */
|
||||||
|
.ui-icon-blank.ui-icon-blank.ui-icon-blank {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
.ui-icon-caret-1-n { background-position: 0 0; }
|
.ui-icon-caret-1-n { background-position: 0 0; }
|
||||||
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
||||||
.ui-icon-caret-1-e { background-position: -32px 0; }
|
.ui-icon-caret-1-e { background-position: -32px 0; }
|
||||||
@@ -435,9 +433,7 @@ a.ui-button:active,
|
|||||||
.ui-widget-overlay {
|
.ui-widget-overlay {
|
||||||
background: #5c5c5c;
|
background: #5c5c5c;
|
||||||
opacity: .8;
|
opacity: .8;
|
||||||
filter: Alpha(Opacity=80); /* support: IE8 */
|
|
||||||
}
|
}
|
||||||
.ui-widget-shadow {
|
.ui-widget-shadow {
|
||||||
-webkit-box-shadow: -7px -7px 7px #cccccc;
|
|
||||||
box-shadow: -7px -7px 7px #cccccc;
|
box-shadow: -7px -7px 7px #cccccc;
|
||||||
}
|
}
|
||||||
5
distfiles/jquery-ui-1.14.2/jquery-ui.theme.min.css
vendored
Normal file
76
distfiles/jquery-ui-1.14.2/package.json
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"name": "jquery-ui",
|
||||||
|
"title": "jQuery UI",
|
||||||
|
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
|
||||||
|
"version": "1.14.2",
|
||||||
|
"homepage": "https://jqueryui.com",
|
||||||
|
"author": {
|
||||||
|
"name": "OpenJS Foundation and other contributors",
|
||||||
|
"url": "https://github.com/jquery/jquery-ui/blob/1.14.2/AUTHORS.txt"
|
||||||
|
},
|
||||||
|
"main": "ui/widget.js",
|
||||||
|
"maintainers": [
|
||||||
|
{
|
||||||
|
"name": "Jörn Zaefferer",
|
||||||
|
"email": "joern.zaefferer@gmail.com",
|
||||||
|
"url": "https://bassistance.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mike Sherov",
|
||||||
|
"email": "mike.sherov@gmail.com",
|
||||||
|
"url": "https://mike.sherov.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TJ VanToll",
|
||||||
|
"email": "tj.vantoll@gmail.com",
|
||||||
|
"url": "https://www.tjvantoll.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Felix Nagel",
|
||||||
|
"email": "info@felixnagel.com",
|
||||||
|
"url": "https://www.felixnagel.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Alex Schmitz",
|
||||||
|
"email": "arschmitz@gmail.com",
|
||||||
|
"url": "https://github.com/arschmitz"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/jquery/jquery-ui.git"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/jquery/jquery-ui/issues"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"build": "grunt build",
|
||||||
|
"lint": "grunt lint",
|
||||||
|
"test:server": "jtr serve",
|
||||||
|
"test:unit": "jtr",
|
||||||
|
"test": "grunt && npm run test:unit -- --headless"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": ">=1.12.0 <5.0.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@swc/core": "1.15.2",
|
||||||
|
"commitplease": "3.2.0",
|
||||||
|
"eslint-config-jquery": "3.0.2",
|
||||||
|
"globals": "16.5.0",
|
||||||
|
"grunt": "1.6.1",
|
||||||
|
"grunt-bowercopy": "1.2.5",
|
||||||
|
"grunt-compare-size": "0.4.2",
|
||||||
|
"grunt-contrib-concat": "2.1.0",
|
||||||
|
"grunt-contrib-csslint": "2.0.0",
|
||||||
|
"grunt-contrib-requirejs": "1.0.0",
|
||||||
|
"grunt-eslint": "26.0.0",
|
||||||
|
"grunt-git-authors": "3.2.0",
|
||||||
|
"grunt-html": "18.0.2",
|
||||||
|
"jquery-test-runner": "0.2.8",
|
||||||
|
"load-grunt-tasks": "5.1.0",
|
||||||
|
"rimraf": "6.1.0"
|
||||||
|
},
|
||||||
|
"keywords": []
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
writeups.php
|
lognotes.php
|
||||||
OpenDRS Online Discrepancy Reporting System
|
OpenLog Online Logbook
|
||||||
Copyright (C) 2026 Rod Wright
|
Copyright (C) 2026 Rod Wright
|
||||||
|
|
||||||
SPDX-License-Identifier: GPL-2.0
|
SPDX-License-Identifier: GPL-2.0
|
||||||