diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index e9cc756a0..0e678af44 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -213,7 +213,7 @@ jobs: printf "\n ${srcName}: pip info\n"; pip show ${srcName}; if [[ "${reslog}" == "" && "${DO_PIP_REINSTALL}" == "false" ]]; then - printf "${srcName}: Up to date. Skipping..." + printf "${srcName}: Up to date. Skipping..." else git pull --ff-only || true; printf "\n${srcName}: Pulled updated code. Re-initializing in python environment..." @@ -231,6 +231,15 @@ jobs: python $dir/setup.py develop || true; fi; fi; + if [[ -f "$dir/dev-requirements.txt" ]]; then + pip install -r $dir/dev-requirements.txt || true; + fi; + if [[ -f "$dir/test-requirements.txt" ]]; then + pip install -r $dir/test-requirements.txt || true; + fi; + if [[ -f "$dir/setup.py" ]]; then + python $dir/setup.py develop || true; + fi; else printf "\n${srcName}: Not a source repository. Skipping..." fi; @@ -255,6 +264,8 @@ jobs: pip install -r test-requirements.txt pip install setuptools==70.0.0 python3 setup.py develop + npm install -D + npm run build cd /srv/app/src/ckan pip install -e . python3 setup.py develop @@ -267,6 +278,7 @@ jobs: . /srv/app/src/ckan/bin/postgres_init/2_create_ckan_datastore_db.sh ckan -c /srv/app/src/ckanext-canada/test-core.ini db init ckan -c /srv/app/src/ckanext-canada/test-core.ini datastore set-permissions | psql -U postgres --set ON_ERROR_STOP=1 + ckan -c /srv/app/src/ckanext-canada/test-core.ini xloader db-init ckan -c /srv/app/src/ckanext-canada/test-core.ini validation init-db ckan -c /srv/app/src/ckanext-canada/test-core.ini security migrate ckan -c /srv/app/src/ckanext-canada/test-core.ini canada update-triggers @@ -274,6 +286,8 @@ jobs: ckan -c /srv/app/src/ckanext-canada/test-core.ini db upgrade ckan -c /srv/app/src/ckanext-canada/test-core.ini db pending-migrations --apply ckan -c /srv/app/src/ckanext-canada/test-core.ini db pending-migrations --apply + ckan -c /srv/app/src/ckanext-canada/test-core.ini recombinant create-ref-tables + ckan -c /srv/app/src/ckanext-canada/test-core.ini pd load-ref-data -v - name: Download Test Durations if: needs.define-matrix.outputs.restored == 'true' uses: actions/download-artifact@v4 @@ -384,7 +398,7 @@ jobs: for dir in /srv/app/src/*; do srcName=$(echo "$dir" | awk -F'/' '{print $NF}'); if [[ -d "$dir/.git" ]]; then - printf "\n${srcName}: Checking for updates..." + printf "\n\n${srcName}: Checking for updates..." cd $dir; current_branch=$(git rev-parse --abbrev-ref HEAD); if [[ "$srcName" == "ckan" ]]; then @@ -395,10 +409,10 @@ jobs: reslog=$(git log HEAD..origin/$current_branch --oneline); fi; if [[ "${reslog}" == "" ]]; then - printf "\n${srcName}: Up to date. Skipping..." + printf " ${srcName}: Up to date. Skipping..." else git pull --ff-only || true; - printf "\n${srcName}: Pulled updated code. Re-initializing in python environment..." + printf "\n ${srcName}: Pulled updated code. Re-initializing in python environment..." cd /srv/app; if [[ -f "$dir/requirements.txt" ]]; then pip install -r $dir/requirements.txt || true; diff --git a/.github/workflows/si_release_listener.yml b/.github/workflows/si_release_listener.yml new file mode 100644 index 000000000..b28f642e7 --- /dev/null +++ b/.github/workflows/si_release_listener.yml @@ -0,0 +1,34 @@ +name: Service Inventory Release Listener +on: + issues: + types: [opened] + +jobs: + make_pr: + if: startsWith(github.event.issue.title, '[SI-RELEASE]') + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + + - name: Run Ref Data Generation + run: | + cd bin; + python service_generate_reference_data.py; + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + commit-message: | + build(pd): service inventory; + + - Auto build ref data from issue ${{ github.event.issue.number }}. + branch: "si-release/${{ github.event.issue.number }}" + title: "[SI-RELEASE] Issue #${{ github.event.issue.number }}" + body: | + Newly generated reference data for Service Inventory. + + This PR was created automatically from issue #${{ github.event.issue.number }} + + cc: @ge-tbs + reviewers: JVickery-TBS, RabiaSajjad diff --git a/.gitignore b/.gitignore index d75390424..8e126a0ba 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ ckanext_canada.egg-info *.pyc .project .pydevproject -build dist *.swp development.ini diff --git a/README.md b/README.md index cdd1c7649..f5e299afa 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ | [Configurations](#configurations) | | [SOLR](#solr) | | [Localization](#localization) | +| [WebAssets](#webassets) | | [Migrations](#migrations) | | [Data Flows](#data-flows) | @@ -259,6 +260,17 @@ updated translations by running: python setup.py compile_catalog ``` +## WebAssets + +CKAN uses python webassets to compile and serve front-end assets like CSS stylesheets and JS scripts. Though webassets offers filters for Sass and JS Minify, it is better practice to not have Node build utilities on production servers. Thus we compile the assets locally via Node and commit to the source GitHub repository (though this is also not best practice, it is required due to deployment constraints). + +If you change webassets, you will need to build them: + +``` +npm install -D +npm run build +``` + ## Migrations ### Creating a plugin migration diff --git a/bin/filter/filter_service.py b/bin/filter/filter_service.py index 870a107cb..ee7f91a90 100755 --- a/bin/filter/filter_service.py +++ b/bin/filter/filter_service.py @@ -3,7 +3,6 @@ import csv import os import sys -import yaml from typing import Dict, Any @@ -37,13 +36,31 @@ BOM = "\N{bom}" -PROGRAM_IDS_FILE = os.path.join( - os.path.split(__file__)[0], - '../../ckanext/canada/tables/choices' - '/service_program_ids.yaml') +SERVICE_ID_REF_DATA_FILE = os.path.join( + os.path.split(__file__)[0], + '../../ckanext/canada/tables/references' + '/data/ref_service_service_ids.csv') +SERVICE_IDS = {} +with open(SERVICE_ID_REF_DATA_FILE, 'r') as f: + c = csv.DictReader(f) + for row in c: + SERVICE_IDS[row['service_id']] = { + 'en': row['label_en'], + 'fr': row['label_fr'] + } + +PROGRAM_ID_REF_DATA_FILE = os.path.join( + os.path.split(__file__)[0], + '../../ckanext/canada/tables/references' + '/data/ref_service_program_ids.csv') PROGRAM_IDS = {} -with open(PROGRAM_IDS_FILE, 'r') as f: - PROGRAM_IDS = yaml.safe_load(f) +with open(PROGRAM_ID_REF_DATA_FILE, 'r') as f: + c = csv.DictReader(f) + for row in c: + PROGRAM_IDS[row['program_id']] = { + 'en': row['label_en'], + 'fr': row['label_fr'] + } def test(record: Dict[str, Any]) -> Dict[str, Any]: @@ -79,12 +96,26 @@ def process_row(row: Dict[str, Any]) -> Dict[str, Any]: count = int(row[field]) row['num_applications_total'] += count + # populate service names from ids + # though part of service_id controlled list, still require + # users to input the Service Name. (2026-09-01;Sept.) + # row['service_name_en'] = SERVICE_IDS[row['service_id']]['en'] + # row['service_name_fr'] = SERVICE_IDS[row['service_id']]['fr'] + # populate program names from ids row['program_name_en'] = [] row['program_name_fr'] = [] program_ids = row['program_id'].split(',') for id in program_ids: + if id.endswith('-INV'): + # NOTE: not adding the suffix label to the published + # program_name_en and program_name_fr fields. + id = id.replace('-INV', '') if id not in PROGRAM_IDS: + row['program_name_en'].append( + f'"Unknown Program Name for {id}"') + row['program_name_fr'].append( + f'"Inconnue désignation du programme pour {id}"') continue # NOTE: we add double quotes as Program Names can have # single quotes and commas in them diff --git a/bin/filter/filter_service_std.py b/bin/filter/filter_service_std.py index d28d9eb33..419ea5075 100755 --- a/bin/filter/filter_service_std.py +++ b/bin/filter/filter_service_std.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import csv +import os import sys from typing import Dict, Any @@ -25,6 +26,19 @@ BOM = "\N{bom}" +SERVICE_ID_REF_DATA_FILE = os.path.join( + os.path.split(__file__)[0], + '../../ckanext/canada/tables/references' + '/data/ref_service_service_ids.csv') +SERVICE_IDS = {} +with open(SERVICE_ID_REF_DATA_FILE, 'r') as f: + c = csv.DictReader(f) + for row in c: + SERVICE_IDS[row['service_id']] = { + 'en': row['label_en'], + 'fr': row['label_fr'] + } + def test(record: Dict[str, Any]) -> Dict[str, Any]: return process_row(record) @@ -76,6 +90,12 @@ def process_row(row: Dict[str, Any]) -> Dict[str, Any]: else: row['target_met'] = 'N' + # populate service names from ids + # though part of service_id controlled list, still require + # users to input the Service Name. (2026-09-01;Sept.) + # row['service_name_en'] = SERVICE_IDS[row['service_id']]['en'] + # row['service_name_fr'] = SERVICE_IDS[row['service_id']]['fr'] + return row diff --git a/bin/service_generate_reference_data.py b/bin/service_generate_reference_data.py new file mode 100755 index 000000000..0b677a333 --- /dev/null +++ b/bin/service_generate_reference_data.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +""" +Compiles all the reference data for Service Inventory. + +All the required files are in the release of +https://github.com/gcperformance/service-data + +https://github.com/gcperformance/service-data/blob/master/src/utils.py + NOTE: program_list compiles fiscal years, orgs, program_ids, and their labels + NOTE: sid_list compiles fiscal years, orgs, service_ids, and their labels +https://github.com/gcperformance/service-data/blob/master/src/export.py + NOTE: CSV files in the release use semicolon(;) as the delimiter +""" + +import os +import re +import csv +import json +import requests + + +ORG_LIST_URI = 'https://open.canada.ca/data/api/action/organization_list' +RELEASE_URI = 'https://api.github.com/repos/gcperformance/service-data/releases/latest' + +SERVICE_ID_OUTPUT_FILE = os.path.join( + os.path.split(__file__)[0], + '../ckanext/canada/tables/references/data/ref_service_service_ids.csv') +SERVICE_ID_HEADERS = ['service_id', 'label_en', 'label_fr', 'org_years'] + +PROGRAM_ID_OUTPUT_FILE = os.path.join( + os.path.split(__file__)[0], + '../ckanext/canada/tables/references/data/ref_service_program_ids.csv') +PROGRAM_ID_HEADERS = ['program_id', 'label_en', 'label_fr', 'org_years'] + +REQUEST_HEADERS = {'User-Agent': 'CKAN/open-gov/service/gen_ref_data'} + +WHITE_SPACE_SUBS = re.compile(r'[\xa0\s]+') +TIMESTAMP_MATCH = re.compile(r'^Timestamp:') + +ORG_VARIANTS_FILENAME = 'org_var.csv' +PROGRAM_IDS_FILENAME = 'program_list.csv' +SERVICE_IDS_FILENAME = 'sid_list.csv' + + +def _clean_intake_text(text: str) -> str: + """ + Normalize special characters and extra spaces + """ + text = text.replace('\u200b', '') # zero width char + text = re.sub(WHITE_SPACE_SUBS, ' ', text) + return text.strip() + + +def _generate_data(): + """ + Generate the reference data for Service Inventory + + Gather Program IDs and their English and French names from the directory + https://api.github.com/repos/gcperformance/service-data/releases/latest/program_list.csv + + Gather Service IDs and their English and French names from + https://api.github.com/repos/gcperformance/service-data/releases/latest/sid_list.csv + + NOTE: we only start in the 2018-2019 fiscal year as per Policy. + + NOTE: we take the latest Program Names as the ones to use. + """ + # get available org abbreviations on open gov + open_orgs = [] + skipped_orgs = set() + with requests.get(ORG_LIST_URI, stream=True, headers=REQUEST_HEADERS) as response: + open_orgs = response.json()['result'] + assert open_orgs + + # gather the csv download URIs from the latest release + org_variants_uri = None + program_ids_uri = None + service_ids_uri = None + with requests.get(RELEASE_URI, stream=False) as response: + release_assets = response.json()['assets'] + for f in release_assets: + if f['name'] == ORG_VARIANTS_FILENAME: + org_variants_uri = f['browser_download_url'] + continue + if f['name'] == PROGRAM_IDS_FILENAME: + program_ids_uri = f['browser_download_url'] + continue + if f['name'] == SERVICE_IDS_FILENAME: + service_ids_uri = f['browser_download_url'] + continue + assert org_variants_uri + assert program_ids_uri + assert service_ids_uri + + # compile list of Open Canada org abbreviations and Service Inventory org_ids + org_id_abbr_map = {} + with requests.get(org_variants_uri, stream=True) as response: + response.encoding = 'utf-8-sig' + c = csv.DictReader(response.iter_lines(decode_unicode=True)) + + assert 'org_name_variant' in c.fieldnames + assert 'org_id' in c.fieldnames + + for row in c: + oname = _clean_intake_text(row['org_name_variant']) + oid = _clean_intake_text(row['org_id']) + if oname in open_orgs: + # NOTE: org names can share an ID for historical purposes. + # e.g. nsira-ossnr,302 is also sirc-csars,302 (abbr,umd) + # and the Registry may have both abbreviations. + if oid not in org_id_abbr_map: + org_id_abbr_map[oid] = [] + org_id_abbr_map[_clean_intake_text(row['org_id'])].append(oname) + assert org_id_abbr_map + + # compile map of program_ids + program_id_map = {} + with requests.get(program_ids_uri, stream=True) as response: + response.encoding = 'utf-8-sig' + c = csv.DictReader(response.iter_lines(decode_unicode=True), + delimiter=';') + + assert 'org_id' in c.fieldnames + assert 'program_id' in c.fieldnames + assert 'latest_valid_fy' in c.fieldnames + assert 'program_en' in c.fieldnames + assert 'program_fr' in c.fieldnames + + for row in c: + if not row['program_id']: + continue + program_id = _clean_intake_text(row['program_id']) + if not program_id: + continue + if program_id not in program_id_map: + program_id_map[program_id] = {} + + label_en = _clean_intake_text(row['program_en']) + label_fr = _clean_intake_text(row['program_fr']) + if 'label_en' not in program_id_map[program_id]: + # take first occuring label + program_id_map[program_id]['label_en'] = label_en + if 'label_fr' not in program_id_map[program_id]: + # take first occuring label + program_id_map[program_id]['label_fr'] = label_fr + + org = _clean_intake_text(row['org_id']) + if org not in org_id_abbr_map: + # org not in open gov, skip + if org not in skipped_orgs: + print('Organization %s not available ' + 'in Open Gov Registry. Skipping...' % org) + skipped_orgs.add(org) + continue + mapped_orgs = org_id_abbr_map[org] + + for _org in mapped_orgs: + if 'org_years' not in program_id_map[program_id]: + program_id_map[program_id]['org_years'] = {} + if _org not in program_id_map[program_id]['org_years']: + program_id_map[program_id]['org_years'][_org] = [] + year = _clean_intake_text(row['latest_valid_fy']) + if year in program_id_map[program_id]['org_years'][_org]: + continue + program_id_map[program_id]['org_years'][_org].append(year) + assert program_id_map + + # write program_id ref data + with open(PROGRAM_ID_OUTPUT_FILE, 'w') as f: + writer = csv.DictWriter(f, PROGRAM_ID_HEADERS) + writer.writeheader() + for program_id, program_data in program_id_map.items(): + writer.writerow({ + 'program_id': program_id, + 'label_en': program_data['label_en'], + 'label_fr': program_data['label_fr'], + 'org_years': json.dumps(program_data['org_years']) + if 'org_years' in program_data else None}) + + # write service_id ref data + inserted_service_ids = set() + with requests.get(service_ids_uri, stream=True) as response: + response.encoding = 'utf-8-sig' + c = csv.DictReader(response.iter_lines(decode_unicode=True), + delimiter=';') + + assert 'service_id' in c.fieldnames + assert 'service_name_en' in c.fieldnames + assert 'service_name_fr' in c.fieldnames + assert 'org_id' in c.fieldnames + assert 'fiscal_yr_first' in c.fieldnames + assert 'fiscal_yr_latest' in c.fieldnames + + with open(SERVICE_ID_OUTPUT_FILE, 'w') as f: + writer = csv.DictWriter(f, SERVICE_ID_HEADERS) + writer.writeheader() + for row in c: + if not row['service_id']: + continue + service_id = _clean_intake_text(row['service_id']) + if not service_id or re.search(TIMESTAMP_MATCH, service_id): + continue + if service_id in inserted_service_ids: + raise Exception('%s already added...' % service_id) + + org = _clean_intake_text(row['org_id']) + if org not in org_id_abbr_map: + # org not in open gov, skip + if org not in skipped_orgs: + print('Organization %s not available ' + 'in Open Gov Registry. Skipping...' % org) + skipped_orgs.add(org) + continue + mapped_orgs = org_id_abbr_map[org] + + inserted_service_ids.add(service_id) + + # just make same format as program_id + # org_years to make queries the same + org_years = {} + for _org in mapped_orgs: + org_years[_org] = [_clean_intake_text(row['fiscal_yr_latest'])] + + writer.writerow({ + 'service_id': service_id, + 'label_en': _clean_intake_text(row['service_name_en']), + 'label_fr': _clean_intake_text(row['service_name_fr']), + 'org_years': json.dumps(org_years) if mapped_orgs else None}) + assert inserted_service_ids + + +if __name__ == '__main__': + _generate_data() diff --git a/changes/1583.feature b/changes/1583.feature new file mode 100644 index 000000000..7f930f3c2 --- /dev/null +++ b/changes/1583.feature @@ -0,0 +1 @@ +Reworked the Public Publishing Flow to use Core CKAN public/private. This assumes that the Registry and Portal share a database. \ No newline at end of file diff --git a/changes/1668.a.changes b/changes/1668.a.changes new file mode 100644 index 000000000..d8745498a --- /dev/null +++ b/changes/1668.a.changes @@ -0,0 +1 @@ +Updated the Service Inventory fields to use the new Recombinant features `choices_reference_table` and `choices_fiscal_year` diff --git a/changes/1668.a.feature b/changes/1668.a.feature new file mode 100644 index 000000000..09f02e189 --- /dev/null +++ b/changes/1668.a.feature @@ -0,0 +1 @@ +Added a bin script to generate Service Inventory Service IDs, Service Names, Program IDs, and Program Names (along with valid Organizations) for reference data from `https://github.com/gcperformance/service-data`. The data is tracked in CSV files in `ckanext.canada.tables.references.data` diff --git a/changes/1668.b.changes b/changes/1668.b.changes new file mode 100644 index 000000000..22614f2fb --- /dev/null +++ b/changes/1668.b.changes @@ -0,0 +1 @@ +Updated the Service Inventory triggers to query the new reference tables `ref_service_program_ids` and `ref_service_service_ids` diff --git a/changes/1668.b.feature b/changes/1668.b.feature new file mode 100644 index 000000000..20ad607ed --- /dev/null +++ b/changes/1668.b.feature @@ -0,0 +1 @@ +Added a `service.sql` pSQL script for `recombinant.reference_definitions`. This creates the tables `ref_service_program_ids` and `ref_service_service_ids` along with some indices for them. diff --git a/changes/1668.c.changes b/changes/1668.c.changes new file mode 100644 index 000000000..0f012579d --- /dev/null +++ b/changes/1668.c.changes @@ -0,0 +1 @@ +The temporary session pSQL table `datastore_user` (now `datastore_app_context`) now has an `org_name` column which is the Organization name/abbreviation that the Resource belongs to. diff --git a/changes/1668.c.feature b/changes/1668.c.feature new file mode 100644 index 000000000..209f0c03f --- /dev/null +++ b/changes/1668.c.feature @@ -0,0 +1 @@ +Added a new subcommand `load-ref-data` which loads any generated reference data into their custom DataStore tables. This is done via a pSQL copy expert, copying the CSVs directly into the tables. diff --git a/changes/1668.d.changes b/changes/1668.d.changes new file mode 100644 index 000000000..9d129d4ea --- /dev/null +++ b/changes/1668.d.changes @@ -0,0 +1 @@ +Refactored temporary session pSQL table `datastore_user` to `datastore_app_context` diff --git a/changes/1668.d.feature b/changes/1668.d.feature new file mode 100644 index 000000000..3387b50c7 --- /dev/null +++ b/changes/1668.d.feature @@ -0,0 +1 @@ +Created a new `fiscal_year_error` pSQL function for the DataStore. This can dynamically validate fiscal year strings without needing to maintain a static list of them. diff --git a/changes/1668.e.feature b/changes/1668.e.feature new file mode 100644 index 000000000..cd35e98b2 --- /dev/null +++ b/changes/1668.e.feature @@ -0,0 +1 @@ +Added `choices_suffix_filter` capabilities to Recombinant Schemas. This allows for additional/universal suffix labels for select choice values. diff --git a/changes/1668.f.feature b/changes/1668.f.feature new file mode 100644 index 000000000..63dba639f --- /dev/null +++ b/changes/1668.f.feature @@ -0,0 +1 @@ +Added dynamic pSQL boolean flags via the `datastore_app_context_flags` context parameter for the temp `datastore_app_context` table. diff --git a/changes/1704.feature b/changes/1704.feature new file mode 100644 index 000000000..b5cc53d0e --- /dev/null +++ b/changes/1704.feature @@ -0,0 +1 @@ +Added a script accessible at `/static/js/alert_exit.js` which creates a confirmation modal for all links not going to the `canada.ca` and `gc.ca` domain spaces. diff --git a/ckanext/__init__.py b/ckanext/__init__.py index 6fb3cad18..1cb03d918 100644 --- a/ckanext/__init__.py +++ b/ckanext/__init__.py @@ -1,7 +1,6 @@ # this is a namespace package try: - # type_ignore_reason: try/catch - import pkg_resources # type: ignore + import pkg_resources # type_ignore_reason: reportAttributeAccessIssue pkg_resources.declare_namespace(__name__) except ImportError: diff --git a/ckanext/canada/assets/custom/build/adobe_analytics_fix.min.js b/ckanext/canada/assets/custom/build/adobe_analytics_fix.min.js new file mode 100644 index 000000000..9cf0f93f1 --- /dev/null +++ b/ckanext/canada/assets/custom/build/adobe_analytics_fix.min.js @@ -0,0 +1 @@ +function canada_fix_adobe_analytics_cookies(){let e=0,t=!1;t=setInterval(function(){if(e>20)return clearInterval(t),void(t=!1);if(e++,"undefined"==typeof _satellite||void 0===_satellite.cookie||void 0===_satellite.cookie.set)return;clearInterval(t),t=!1;const i=_satellite.cookie.set;_satellite.cookie.set=function(e,t,a){return"clickURL"==e&&t.toString().includes("javascript")?i(e,"",a):i(e,t,a)}},100)}canada_fix_adobe_analytics_cookies(); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/analytics.min.js b/ckanext/canada/assets/custom/build/analytics.min.js new file mode 100644 index 000000000..37919b58d --- /dev/null +++ b/ckanext/canada/assets/custom/build/analytics.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e,t=document.referrer;if($("h1").length>0&&(e=$("h1")[0].innerText),"undefined"!=typeof gtag){let n=$("a.resource-url-analytics");n.length>0&&$(n).each(function(n,r){$(r).off("click.analytics"),$(r).on("click.analytics",function(n){let a=encodeURIComponent($(r).prop("href")),o=$(r).attr("data-pkg-id"),i=$(r).attr("data-res-id"),c=$(r).attr("data-org-id");gtag("event","resource",{action:"Resource Downloaded",resource_url:a,package_id:o,resource_id:i,organization_id:c,title:e,referrer:t})})})}})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/cascading_select.min.js b/ckanext/canada/assets/custom/build/cascading_select.min.js new file mode 100644 index 000000000..d70a44b99 --- /dev/null +++ b/ckanext/canada/assets/custom/build/cascading_select.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e={},n=document.querySelectorAll("[cascading_select_field]"),t={};function o(n,c){for(const[a,s]of Object.entries(t))if(s===n){const n=document.getElementsByName(a)[0];for(;n.options.length>0;)n.remove(0);n.add(new Option("",""));const t=e[a][c];if(t)for(const[e,o]of Object.entries(t))n.add(new Option(o,e));o(a,n.value),n.onchange&&n.onchange()}}n.forEach(function(e){t[e.name]=e.getAttribute("cascading_select_field")}),n.forEach(n=>{const o=document.getElementsByName(t[n.name])[0];e[n.name]={};for(let t=0;t{const n=document.getElementsByName(t[e.name])[0];n._cascadingAttached||(n._cascadingAttached=!0,n.addEventListener("change",function(){const e=n.value;o(n.name,e)}))})})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/check_all.min.js b/ckanext/canada/assets/custom/build/check_all.min.js new file mode 100644 index 000000000..7c3615134 --- /dev/null +++ b/ckanext/canada/assets/custom/build/check_all.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(function(){$("#publish_all").on("click",function(){$("#publish_form").find(":checkbox").prop("checked",this.checked)})})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/custom_styles.min.css b/ckanext/canada/assets/custom/build/custom_styles.min.css new file mode 100644 index 000000000..61f79cb83 --- /dev/null +++ b/ckanext/canada/assets/custom/build/custom_styles.min.css @@ -0,0 +1 @@ +@keyframes fade-opacity-in{from{opacity:0;pointer-events:none}to{opacity:1;pointer-events:all}}@keyframes flash-fade-in-alert{0%{opacity:0}33%{opacity:.25}67%{opacity:.75}100%{opacity:1}}@keyframes flash-fade-in-close-button{0%{visibility:hidden;opacity:0}67%{visibility:hidden;opacity:0}100%{visibility:visible;opacity:.625}}@keyframes modal-fade-in{0%{opacity:0}33%{opacity:.25}67%{opacity:.75}100%{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}33%{opacity:.75}67%{opacity:.25}100%{opacity:0}}body,[role=main],.main{background:none}footer{margin-top:15px}#flDebug .flDebugPanelContentParent{overflow:scroll !important}body>header{z-index:3 !important}body #canada-main-container{z-index:2 !important}.label.dataset-private{display:none}.list-facets a{text-decoration:none}.list-facets a:visited{color:#295376}.fgpv{height:700px;border:1px solid #000;margin:1em 0;position:relative}.mfp-bg{opacity:.5}img.openness-rating-stars{margin-bottom:0px !important}.facet-item{padding-bottom:3px;padding-top:3px}.module-content{padding:0}.context-info .nums{border:none}.resource-tags{text-align:left;white-space:inherit;word-break:break-word;word-wrap:break-word}#resource-desc{word-break:break-word;word-wrap:break-word}.pkg-rss-feed-text{color:#fff}.canada-debug-wrapper{border:2px solid #af3c43;border-radius:3px;margin-top:15px;padding:15px}.canada-debug-wrapper>div.container{max-width:100% !important}.resource-list td{vertical-align:middle !important}.header-title-box{border-left:1px solid #ccc;border-right:1px solid #ccc;padding-top:12px}.header-title-box>h1{margin-top:0;margin-bottom:12px;border-bottom:1px solid #ccc;font-size:30px}ol.breadcrumb{margin-bottom:0px}.breadcrumb li:last-child a{background:rgba(0,0,0,0) !important;color:#000;pointer-events:none;cursor:default;text-decoration:none}.list-facets a{text-decoration:none}.list-facets a:visited{color:#295376}.res-tag{font-size:10px}.res-tag-lang{background-color:#256eb8}.resource-heading{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#wb-info a{text-decoration:none}#wb-info>.wb-navcurr{padding-top:2em;padding-bottom:2em}.ftr-urlt-lnk li:before{content:"•";margin-right:.7em}.ftr-urlt-lnk li:first-child:before{content:none}.goodtables-ui-report .file-heading .file-name,.goodtables-ui-report .file-heading .file-count{display:none}.goodtables-ui-report .file-heading .inner::before{content:none}.goodtables-ui-report .passed-tests li .badge.badge-success{display:none}.goodtables-ui-report .result{margin:0}.goodtables-ui-report .result .error-details .error-list .error-list-heading{display:none}a#edit-comment-body-0-format-help-about,button#edit-submit,button#edit-actions-submit{width:auto;top:auto}.geomap-progress:before{background:none}.geomap-progress:after{content:none}.geographic-region-wrapper{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline}.geographic-region-wrapper>div{padding-left:0}.panel.panel-primary{border-color:#335075}.panel.panel-primary .panel-heading{border-color:#335075;background:#335075}.panel.panel-primary .panel-heading a{color:#fff}.panel .canada-panel-heading{font-weight:600}.panel-primary{overflow-wrap:break-word}label.no-colon::after{content:none !important}.filter-list{margin-top:10px !important}.filter-list a.facet-pill{margin-left:0 !important;margin-right:8px !important;margin-bottom:8px !important}body i.fa.fa-chart-bar::before{content:"" !important}body i.fa.fa-arrow-left::before{margin-right:6px !important}body .canada-admin-publish-checkbox{float:right;display:inline-block;margin-top:-25px}body .canada-draft-title-pill{padding-top:4px;padding-bottom:4px}body .canada-status-modal{max-height:185px;max-width:600px}body .pd-datatable-ref-link{opacity:.65;margin-left:4px}body .pd-datatable-ref-link small{font-size:75%}body .ogscartwrapper{display:none;visibility:hidden}body .canada-mfa-help-link{display:none;margin-right:20px}body .canada-imso-approval-help-text{margin-bottom:15px;display:inline-block}.canada-voting-fix-hide{opacity:0;pointer-events:none !important}.canada-voting-fix-show{pointer-events:all !important}body select[data-field-select2=True]{display:none !important}.canada-dt-search-input-no-fts{cursor:not-allowed !important;outline:none !important;box-shadow:none !important}.canada-dt-hidden-div-fix{height:1 !important;width:1 !important;overflow:hidden !important;position:fixed !important;top:0 !important;left:0 !important}#promise-download-alert-inner span{font-weight:600 !important;font-size:32px !important;color:#38414d !important}body .canada-status-modal>div.modal-dialog{margin:auto}body details.canada-abbr{margin:0;padding:0;display:inline !important;color:inherit;border:none !important;outline:none !important}body details.canada-abbr summary{color:inherit;margin:0;padding:0;cursor:pointer !important;border:none !important;text-decoration:underline dotted !important;outline:none !important}body details.canada-abbr summary::marker{display:none !important;content:none !important}body details.canada-abbr summary i{opacity:.75}tbody.recombinant-data-dictionary-suffix-ref{display:table-header-group !important}tbody.recombinant-data-dictionary-suffix-ref th,tbody.recombinant-data-dictionary-suffix-ref td{background-color:#d9edf7 !important}div.dt-button-collection{width:50%}div.dt-button-collection a.dt-button{display:inline-block}button.dt-button,div.dt-button,a.dt-button{padding:2px 10px}.btn .icon{padding-left:0;min-height:0;min-width:0}body #resource-schema-buttons div.form-group>a.btn:nth-of-type(2){display:none !important;z-index:-1 !important}#menu-bar{background-color:#256eb8;margin-bottom:15px}@media(max-width: 600px){#menu-bar .container{padding-right:0;padding-left:0}}.page-header .nav-tabs li.active a{background-color:#335075;color:#fff}.page-header .content_action{margin-top:3px}.page-header.module-content{padding-top:0;padding-bottom:0}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#335075}@media(max-width: 768px){nav#wb-bc{padding-left:15px !important}}.topnav{overflow:hidden;width:100%;display:table}@media(max-width: 600px){.topnav{display:block;width:auto}.topnav.responsive{position:relative}.topnav.responsive .icon{position:absolute;right:0;top:0}.topnav.responsive a{float:none;display:block;text-align:left}.topnav.responsive .dropdown-new{float:none}.topnav.responsive .dropdown-new .dropbtn{display:block;width:100%;text-align:left}.topnav.responsive .dropdown-content{position:relative}}.topnav>a{display:table-cell;vertical-align:middle;color:#f2f2f2;text-align:center;padding:14px 16px;text-decoration:none;font-size:16px;border-left:1px solid #999;text-shadow:1px 1px 1px #222}.topnav>a:nth-last-child(2){border-right:1px solid #999}@media(max-width: 600px){.topnav>a:nth-last-child(2){border-right:none}}.topnav a:hover,.topnav a:focus{background-color:#335075;color:#fff}.topnav a:focus{outline:5px auto #000;outline-offset:-2px}@media(max-width: 600px){.topnav a{float:left;display:block;vertical-align:baseline;border-left:none}}@media(max-width: 600px){.topnav a:not(:first-child){display:none}}@media(max-width: 600px){.topnav a.icon{float:right;display:block}}.topnav .icon{display:none}.dropdown-new{overflow:hidden;display:table-cell;vertical-align:middle}@media(max-width: 600px){.dropdown-new{display:block;vertical-align:baseline}}.dropdown-new .dropbtn{font-size:16px;width:100%;border:none;outline:none;color:#fff;padding:17px;background-color:#256eb8;font-family:inherit;margin:0;border-left:1px solid #999;text-shadow:1px 1px 1px #222}@media(max-width: 600px){.dropdown-new .dropbtn{width:auto;border-left:none}}@media(max-width: 600px){.dropdown-new .dropbtn{display:none}}.dropdown-new .dropbtn:hover,.dropdown-new .dropbtn:focus{background-color:#335075;color:#fff}.dropdown-new .dropbtn:focus{outline:5px auto #000;outline-offset:-2px}.dropdown-new:hover .dropdown-content{display:block}.dropdown-content{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0px 8px 16px 0px rgba(0,0,0,.2);z-index:2}.dropdown-content a{float:none;color:#000;padding:4px 10px;text-decoration:none;display:block;text-align:left;font-size:15px}@media(max-width: 600px){.dropdown-content a{padding:8px 12px}}.dropdown-content a:hover{background-color:#335075;color:#fff}.gcweb-menu [role=menu]{background-color:#26374a}.gcweb-menu [role=menu] [role=menu]{background-color:#fff;min-height:488px}.gcweb-menu [role=menuitem]:focus{background-color:#fff;color:#333}.gcweb-menu [role=menuitem] [role=menu] li [role=menuitem]{font-weight:400}.gcweb-menu button[aria-haspopup=true]{background-color:#26374a;border:1px solid #26374a}.gcweb-menu button[aria-haspopup=true]:hover,.gcweb-menu button[aria-haspopup=true][aria-expanded=true]{background-color:#26374a;color:#fff}.gcweb-menu i{margin-right:10px}#wb-sm li.dropdown-item a{color:#284162;text-align:left;text-decoration:none}#wb-sm .menu{text-shadow:none}#wb-sm .menu li.dropdown-item a:hover{color:#fff}#wb-sm .menu>li{padding:0}#wb-sm .menu>li>a{display:block;padding:1em;text-align:center;text-decoration:none}#usr-logged ul{text-align:right;margin-top:18px}@media(max-width: 995px){#user_nav{margin-top:-57px}}.nav-item.active>a span,.nav-aside li.active a span{white-space:inherit}li.nav-item.justify-content-between.position-relative:hover{background-color:#eee}.canada-pd-org-select-wrapper>.module-content.canada-no-marg{margin-top:0 !important}.canada-pd-org-select-wrapper .recombinant-org-select-container{display:flex !important;width:100% !important;flex-wrap:nowrap !important;flex-direction:row;min-height:38px;max-height:38px;height:38px}.canada-pd-org-select-wrapper .recombinant-org-select-label-wrapper{display:block;flex:0;padding-left:15px !important;white-space:nowrap}.canada-pd-org-select-wrapper .recombinant-org-select-label-wrapper label{font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;margin:0 !important;transition-duration:.325s !important;color:#295376 !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper{display:flex;flex:1;padding-left:0 !important;padding-right:0 !important;width:100%;opacity:0;pointer-events:none;animation:fade-opacity-in .5s ease-in 1s 1 normal forwards}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container{height:100% !important;border-radius:0 !important;vertical-align:initial !important;flex:1;width:auto !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-choice,.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-chosen{height:100% !important;border-radius:0 !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-choice{background:#335075 !important;border-color:#335075 !important;box-shadow:none !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-chosen{vertical-align:middle;display:inline-block;width:95%;height:initial !important;overflow:visible !important;font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;margin:0 !important;margin-top:4px !important;transition-duration:.325s !important;color:#fff !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-arrow{border-radius:0 !important;background:#335075 !important;border-color:#335075 !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-arrow b{background-position-y:-100%;color:#fff !important;border-color:#fff !important;background-image:url("/data/static/img/select2x2_white.png") !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper{width:100% !important}.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper select{vertical-align:initial !important;flex:1;width:auto !important;height:100% !important;border-radius:0 !important;background:#335075 !important;border-color:#335075 !important;box-shadow:none !important;color:#fff !important;width:100% !important}#wb-srch form[name=cse-search-box]{position:relative}#wb-srch input#wb-srch-q{position:relative;padding-right:55px}#wb-srch div.form-group.submit{top:0;right:0;bottom:0;margin:0 !important}#wb-srch button#wb-srch-sub{position:relative;top:0;min-height:100%;max-height:100%;height:100%}.canada-search-filters-title{margin-bottom:10px}.canada-search-filters-title h2{margin-top:0 !important}.canada-search-filters-title a{text-decoration:none !important}.canada-search-field-wrapper{width:100% !important;display:flex !important;flex-direction:row;flex-wrap:nowrap}.canada-search-field-wrapper input#search_field{flex:1}.canada-search-field-wrapper span.input-group-btn{width:40px;max-width:40px;min-width:40px}.canada-search-form-options-wrapper{width:100% !important;display:flex !important;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.canada-search-form-options-wrapper select{display:inline-block !important}.canada-resource-search-wrapper #dataset-resource-search{display:flex;width:auto}.canada-resource-search-wrapper input#resource_query{min-width:40%;border-radius:3px 0 0 3px;display:inline-block}.canada-resource-search-wrapper span.input-group-btn{display:inline-block}span.resource-heading-text mark.highlight{padding:0 !important;margin:0 !important;border:none !important;outline:none !important}.dataset-resource-pager li.active a{pointer-events:none !important;cursor:not-allowed}.canada-org-result-text{font-size:16px !important}.canada-dashboard-nav li a{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.canada-dashboard-panel{border-top-left-radius:0 !important}.recombinant-action-panels-container .tabpanels>details{padding:0 20px 20px 20px !important}.nav-item>a{font-size:inherit}.nav-item.active>a{background-color:unset;color:#335075}.nav-item.active>a::before{border:none}.nav-item.active>a:hover{color:initial;background-color:initial}.nav-aside li a{font-size:inherit}.nav-aside li.active a{background-color:unset;color:#335075}.nav-aside li.active a::before{border:none}.nav-aside li.active a:hover{color:initial;background-color:initial}#resources_nav{font-size:initial}.canada-action-toolbar{margin-top:0;min-height:auto !important;width:100% !important}.canada-action-toolbar header{margin-top:15px;margin-bottom:0 !important;width:100% !important;display:flex;flex-direction:row-reverse;flex-wrap:nowrap;justify-content:space-between;border-radius:0 !important;background:#e1e4e7 !important;border-bottom:1px solid #d3d4d8;border-top:1px solid #d3d4d8}@media(max-width: 992px){.canada-action-toolbar header{flex-wrap:wrap}}.canada-action-toolbar header .nav a{font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;margin:0 !important;transition-duration:.325s !important}.canada-action-toolbar header .nav li:not(.active) a:hover,.canada-action-toolbar header .nav li:not(.active) a:active,.canada-action-toolbar header .nav li:not(.active) a:focus{background:#eeeff1 !important}.canada-action-toolbar header .nav li.active a{background-color:#335075 !important;color:#fff !important;pointer-events:none !important}.canada-action-toolbar header .content_action a{font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;background:#f6f6f6 !important;transition-duration:.325s !important}.canada-action-toolbar header .content_action a:not(:last-of-type){margin-right:5px !important}.canada-action-toolbar header .content_action a:hover,.canada-action-toolbar header .content_action a:active,.canada-action-toolbar header .content_action a:focus{background:#335075 !important;color:#fff !important}.canada-action-toolbar header .content_action a.btn-success{background-color:#1b6c1c !important}.canada-action-toolbar header .content_action a.btn-success:hover,.canada-action-toolbar header .content_action a.btn-success:active,.canada-action-toolbar header .content_action a.btn-success:focus{background:#114311 !important}.canada-action-toolbar header::after{content:none !important}.canada-action-toolbar header>*{position:relative !important;display:block !important;float:none !important;margin:0 !important}.module-resource .module-content>.actions{float:none !important;margin-top:0 !important;min-height:auto !important;width:100% !important;display:block !important;z-index:2}.module-resource .module-content>.resource-view .actions{z-index:1}.resource-actions-toolbar{float:none !important;margin-top:15px !important;min-height:auto !important;width:100% !important;display:block !important;background:#e1e4e7 !important;border-bottom:1px solid #d3d4d8;border-top:1px solid #d3d4d8;border-radius:0 !important;margin-bottom:15px !important}.resource-actions-toolbar.resource-actions-toolbar-portal{background:rgba(0,0,0,0) !important;border-top-color:rgba(0,0,0,0) !important;border-bottom-color:rgba(0,0,0,0) !important}.resource-actions-toolbar>ul{width:100% !important;display:flex;flex-direction:row;flex-wrap:nowrap;padding:0 !important;margin:0 !important}@media(max-width: 992px){.resource-actions-toolbar>ul{flex-wrap:wrap}}.resource-actions-toolbar>ul>li{margin:0 !important}.resource-actions-toolbar>ul a.btn-default{font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;background:#e1e4e7 !important;transition-duration:.325s !important;min-height:auto !important;box-shadow:none !important}.resource-actions-toolbar>ul a.btn-default:hover,.resource-actions-toolbar>ul a.btn-default:active,.resource-actions-toolbar>ul a.btn-default:focus{background:#eeeff1 !important}.resource-actions-toolbar>ul a.btn-default:focus{outline:auto !important}.resource-actions-toolbar .resource-actions-toolbar-spacer{flex:1}.resource-actions-toolbar .resource-actions-toolbar-spacer~li a{border-radius:0 !important;border:none !important}.resource-actions-toolbar .resource-actions-toolbar-spacer~li button.dropdown-toggle{border-radius:0 !important;border:none !important}.resource-actions-toolbar .resource-actions-toolbar-spacer~li:not(:last-of-type){margin-right:5px !important}#quick-links .col-md-6 section{padding-left:12px}#quick-links h2{margin-top:11.5px}#quick-links section{margin-bottom:11.5px}#quick-links .fa-question-circle-o{color:#789}#ql-open-data{border-left:solid 3px #088;border-top:solid 1px #ddd}#ql-open-data i{color:#088;margin-right:10px}#mn-open-data{border-left:solid 6px #088}#open-data i{color:#088}#ql-sug-datasets{border-left:solid 3px #f80;border-top:solid 1px #ddd}#ql-sug-datasets i{color:#f88;margin-right:10px}#mn-sug-datasets{border-left:solid 6px #f80}#ql-open-dialogue{border-left:solid 3px #f08;border-top:solid 1px #ddd}#ql-open-dialogue i{color:#f08;margin-right:10px}#mn-open-dialogue{border-left:solid 6px #f08}#open-dialogue i{color:#f08}ul#brf-pkg{padding-left:0}#brf-pkg li{list-style:none}#ql-open-info{border-left:solid 3px #80f;border-top:solid 1px #ddd}#ql-open-info i{color:#80f;margin-right:10px}#mn-open-info{border-left:solid 6px #80f}#ql-search{border-left:solid 3px #888;border-top:solid 1px #ddd}#ql-search i{color:#888;margin-right:10px}#mn-search{border-left:solid 6px #888}#ql-pd{border-left:solid 3px #44a;border-top:solid 1px #ddd}#ql-pd i{color:#44a;margin-right:10px}#mn-pd{border-left:solid 6px #44a}#pd i{color:#44a}.label.lb-open-data{float:right;border-color:#088;background:#fff}.label.lb-sug-datasets{float:right;border-color:#f80;background:#fff}.label.lb-open-dialogue{float:right;border-color:#f08;background:#fff}.label.lb-open-info{float:right;border-color:#80f;background:#fff}.label.lb-pd{float:right;border-color:#44f;background:#fff}.lb-page-display{font-size:22px !important;font-weight:700 !important;font-family:Lato,sans-serif !important}#confirm-contact-email{z-index:5 !important}#confirm-contact-email .modal-dialog{position:absolute;top:20%;left:50%;transform:translate(-50%, 0);max-width:80%}@media all and (max-width: 768px){#confirm-contact-email .modal-dialog{min-width:80%;max-width:80%;width:80%}}.popover{width:300px}.popover .popover-title{font-weight:bold;margin-bottom:0}.popover p.about{margin:0 0 10px 0}.popover .popover-close{float:right;text-decoration:none}.popover .popover-content{font-size:14px;line-height:20px;color:#444;word-break:break-all}.popover .popover-content dl{margin:0}.popover .popover-content dl dd{margin-left:0;margin-bottom:10px}.modal{text-align:center;padding:0 !important}.modal:before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.modal .modal-dialog .modal-content .modal-header{background-color:#2e5274}.modal .modal-dialog .modal-content .modal-header>h1,.modal .modal-dialog .modal-content .modal-header>h2,.modal .modal-dialog .modal-content .modal-header>h3,.modal .modal-dialog .modal-content .modal-header>h4,.modal .modal-dialog .modal-content .modal-header>h5,.modal .modal-dialog .modal-content .modal-header>h6{color:#fff;margin:0}.modal .modal-dialog .modal-content .modal-title{color:#fff}.modal .modal-dialog .modal-content button.close span{color:#fff}.modal.canada-resource-view-embed .modal-dialog{position:absolute;top:20%;left:50%;transform:translate(-50%, 0);max-width:80%}@media all and (max-width: 768px){.modal.canada-resource-view-embed .modal-dialog{min-width:80%;max-width:80%;width:80%}}.modal-dialog{display:inline-block;text-align:left;vertical-align:middle}.alert.alert-guidance{border-color:#335075}.alert.alert-guidance::before{content:"";color:#a62a1e;font-family:"FontAwesome";line-height:1;top:25%;background-color:#fff;border-radius:100%;font-weight:700;font-size:28px;padding:4px;transform:translateX(-1px) rotate(-45deg)}.alert-error,.label-error,details.alert-error{background:#f3e9e8;border-color:#d3080c;color:#000}.label-error[href]:active,.label-error[href]:focus,.label-error[href]:hover{background:#f3e9e8;border-color:#d3080c;color:#000}.alert-error>:first-child:before{color:#d3080c;content:""}.dataset-alert{clear:both;margin-top:23px}.canada-flash-messages{z-index:2}.canada-flash-messages .alert{padding-right:28px;position:relative}.canada-flash-messages .alert.fade.show{animation:flash-fade-in-alert 1.325s ease-in .325s forwards !important}.canada-flash-messages .flash-messages button.close{display:block;position:absolute;top:5px;right:5px;padding-bottom:0;visibility:hidden;opacity:0;animation:flash-fade-in-close-button 2s ease-in 1s forwards !important;padding:0 !important}.canada-flash-messages .flash-messages button.close::after{content:"";font-family:"FontAwesome";font-size:18px;vertical-align:text-top}.canada-flash-messages .flash-messages button.close:hover,.canada-flash-messages .flash-messages button.close:active,.canada-flash-messages .flash-messages button.close:focus{color:#335075}.canada-flash-messages .flash-messages .alert:not(.alert-dismissible) button.close{display:none !important;pointer-events:none !important}.canada-flash-messages a.btn-default{color:#335075 !important}.canada-flash-messages a.btn-primary,.canada-flash-messages a.btn-danger{color:#fff !important}.canada-flash-messages a.btn-warning{color:#000 !important}.canada-package-panel-heading{display:flex;flex-wrap:nowrap;gap:16px;justify-content:space-between}.canada-package-panel-heading h3{align-self:center}.canada-package-panel-heading>.canada-package-panel-heading--labels{display:flex;flex-direction:column;gap:16px;align-items:flex-end}.canada-package-panel-heading span.badge{margin:0 !important}.canada-edit-resource-panel{margin:-15px -15px 8px -15px !important}.canada-edit-resource-info div.nums{margin:0 !important;padding:0 !important}ul.resource-list>li.resource-item{display:flex;flex-wrap:wrap;width:100%}@media(max-width: 768px){ul.resource-list>li.resource-item{flex-direction:column}}ul.resource-list>li.resource-item:not(:last-of-type){border-radius:0;border-bottom:1px solid rgba(0,0,0,.15)}ul.resource-list>li.resource-item>div#resource_title{display:inline-block;flex:1;padding-right:10px;align-self:center}@media(max-width: 768px){ul.resource-list>li.resource-item>div#resource_title{align-self:initial}}ul.resource-list>li.resource-item>div#resource_title>a.resource-heading{display:inline !important}ul.resource-list>li.resource-item>a.validation-badge{display:none !important}ul.resource-list>li.resource-item>div.canada-resource-list-badges{align-self:last baseline}@media(max-width: 768px){ul.resource-list>li.resource-item>div.canada-resource-list-badges{align-self:initial}}ul.resource-list>li.resource-item>div.canada-resource-list-badges a.loader-badge{margin-right:10px}ul.resource-list>li.resource-item>div.canada-resource-list-badges a.validation-badge{margin-left:0;margin-right:10px}ul.resource-list>li.resource-item .canada-resource-list-validation-info{width:calc(100% + 70px);margin-left:-60px;margin-right:-10px;margin-bottom:-10px;margin-top:10px;background-color:#e05d44;color:#fff;padding:4px 12px;font-size:16px;font-weight:500}ul.resource-list>li.resource-item .canada-resource-list-validation-info>p{margin:0;display:flex;flex-wrap:nowrap;flex-direction:row;width:100%;align-items:center}ul.resource-list>li.resource-item .canada-resource-list-validation-info a.btn{margin-left:auto}ul.resource-list>li.resource-item:hover .canada-resource-list-validation-info{background-color:#dc4a2e}.resource-item .resource-action-links{display:block !important;position:relative !important;right:initial !important;top:initial !important;align-self:center}@media(max-width: 768px){.resource-item .resource-action-links{margin-top:10px !important;margin-bottom:10px !important;align-self:initial}}.resource-item .resource-action-links>a.btn{margin:0 !important}.resources-side-panel .nav-item{padding-left:0 !important;padding-right:0 !important}.resources-side-panel .nav-item button.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.resources-side-panel .nav-item>a{padding-left:15px;padding-right:35px;margin-left:0 !important;margin-right:0 !important;position:relative;width:100%}.resources-side-panel .nav-item ul.dropdown-menu{position:absolute;inset:0px auto auto 0px;margin:0px;transform:translateY(38px);z-index:100 !important}@media(max-width: 992px){.resources-side-panel .nav-item ul.dropdown-menu{transform:translateY(30px) translateX(calc(-100% + 50px))}}.resources-side-panel .nav-item .dropdown.position-absolute{position:absolute !important;right:0 !important;top:0 !important;bottom:0 !important;margin-right:0 !important}.resources-side-panel .nav-item .dropdown.position-absolute>.btn-light{background-color:#eee !important;border-color:#dcdee1 !important;color:#335075 !important;border-radius:0 !important;box-shadow:none !important;border:none !important;height:100%;width:46px !important}.resources-side-panel .nav-item .dropdown.position-absolute>.btn-light:hover,.resources-side-panel .nav-item .dropdown.position-absolute>.btn-light:active,.resources-side-panel .nav-item .dropdown.position-absolute>.btn-light:focus{background-color:#cfd1d5 !important;border-color:#bbbfc5 !important}.resources-side-panel .nav-item .dropdown.position-absolute>.btn-light:focus{outline:auto !important}.resources-side-panel .nav-item .dropdown.position-absolute.open{z-index:100 !important}.resources-side-panel .nav-item.active{background-color:#eee !important}.resources-side-panel .nav-item.active a{cursor:default !important;color:#295376 !important}.resources-side-panel .nav-item.active::before{content:none}.resources-side-section+div.module-content a.btn-light{background-color:#eaebed !important;border-color:#dcdee1 !important;color:#335075 !important;line-height:2 !important}.resources-side-section+div.module-content a.btn-light:visited{color:#335075 !important}.resources-side-section+div.module-content a.btn-light:hover,.resources-side-section+div.module-content a.btn-light:focus,.resources-side-section+div.module-content a.btn-light:active{background-color:#cfd1d5 !important;border-color:#bbbfc5 !important}.resources-side-section .panel-body.resources-side-panel{padding:0 !important}.resources-side-section .panel-body>ul{min-height:80px}.resources-side-section .panel-body>ul>li{position:relative !important;min-height:80px;padding:0 !important;width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:end;background:rgba(0,0,0,0) !important}.resources-side-section .panel-body>ul>li.show{display:flex !important}.resources-side-section .panel-body>ul>li:last-of-type{border-bottom-left-radius:3px !important;border-bottom-right-radius:3px !important}.resources-side-section .panel-body>ul>li:last-of-type a{border-bottom-left-radius:3px !important;border-bottom-right-radius:3px !important}.resources-side-section .panel-body>ul>li:last-of-type .dropdown.position-absolute>.btn-light{border-bottom-right-radius:3px !important}.resources-side-section .panel-body>ul>li:not(:first-of-type){border-top:1px dotted #6f6f6f !important}.resources-side-section .resources-side-section-item-link{position:absolute !important;display:block !important;top:0;right:0;bottom:0;left:0;width:calc(100% - 46px) !important;height:100%;transition-duration:.325s !important;text-decoration:none !important;color:#284162 !important}.resources-side-section .resources-side-section-item-link:hover,.resources-side-section .resources-side-section-item-link:active,.resources-side-section .resources-side-section-item-link:focus{text-decoration:none !important;color:#284162 !important}.resources-side-section .resources-side-section-item-title-container{position:relative;overflow:clip}.resources-side-section .resources-side-section-item-badges{margin-left:15px;margin-bottom:15px;margin-top:52px;margin-right:50px;z-index:2;pointer-events:none}@media(max-width: 992px){.resources-side-section .resources-side-section-item-badges{margin-top:60px}}@media(max-width: 768px){.resources-side-section .resources-side-section-item-badges{margin-top:52px}}.resources-side-section .resources-side-section-item-badges .badge{margin-bottom:3px}.resources-side-section .nav-item.active div.dropdown{display:none !important}.resources-side-section .nav-item.active>a{padding-right:15px !important;width:100% !important}.resources-side-section.resources-side-panel-no-edit .nav-item>a{padding-right:15px !important;width:100% !important}.resources-side-section--no-resources>div.module-content a.btn-light{background-color:#eaebed !important;border-color:#dcdee1 !important;color:#335075 !important;line-height:2 !important}.resources-side-section--no-resources>div.module-content a.btn-light:visited{color:#335075 !important}.resources-side-section--no-resources>div.module-content a.btn-light:hover,.resources-side-section--no-resources>div.module-content a.btn-light:focus,.resources-side-section--no-resources>div.module-content a.btn-light:active{background-color:#cfd1d5 !important;border-color:#bbbfc5 !important}.canada-reorder-resources-wrapper .resource-list{margin:0 0 10px 0 !important}.module-resource .actions{top:unset;right:unset}@media(max-width: 992px){.module-resource .actions{float:none !important}}@media(max-width: 992px){.module-resource .actions>ul{padding-left:0 !important;margin-bottom:6.5px !important}}@media(max-width: 992px){.module-resource .actions>ul>li{margin-bottom:5px !important}}.module-resource .actions>ul>li:nth-last-of-type(2){margin-right:5px !important}body ul.nav li.view-item a{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;align-items:center}body ul.nav li.view-item a i.icon{position:relative !important}body ul.nav li.view-item a i.icon::before{position:absolute !important;top:50%;left:50%;transform:translate(-50%, -50%);font-size:24px !important}.canada-view-disabled-label{padding-top:4px !important;padding-bottom:4px !important;margin-left:8px !important}.form-control.select2-container{display:contents}.form-control.select2-offscreen{left:auto !important;top:auto !important}.form-control.select2-offscreen:focus{left:auto !important;top:auto !important}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:relative;margin-left:0}.scheming-subfield-group-panel-heading{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}div.resource-upload-field label#resource-menu-label::before,div.resource-upload-field label[for=field-resource-upload]::before,div.resource-upload-field label[for=field-resource-url]::before,div.resource-upload-field .upload-type>label.control-label::before{content:"*";color:#c6898b;margin-right:2.5px}.form-group .info-block{padding:0;font-size:small;color:#2572b4}label.control-label:has(span.control-required):after{content:"(required)";display:inline;color:#e00;vertical-align:baseline;margin-left:4px;background-image:none}label.control-label:has(span.control-required):lang(fr):after{content:"(requis)"}label:lang(fr):after{content:" :"}.control-required{color:#e00}.stages li.active:after{border-top-color:#ededed;border-bottom-color:#ededed;border-right-color:#284162;z-index:-1}.stages li.active .highlight{background:#284162}.stages li.complete .highlight{color:#aeaeae;background:#ededed}.stages li.complete:before{color:#aeaeae;background:#fff}.stages li.complete :after{border-top-color:#ededed;border-bottom-color:#ededed}#dropdown-manage-dataset{font-weight:bold !important;font-size:16px !important;line-height:1.4375 !important;border-radius:0 !important;border:none !important;background-color:#f6f6f6 !important;transition-duration:.325s !important}#dropdown-manage-dataset:hover,#dropdown-manage-dataset:active,#dropdown-manage-dataset:focus{background-color:#335075 !important;color:#fff !important}#dropdown-manage-dataset.show{display:inline-block !important}ul.dropdown-menu #dropdown-manage-dataset-menu a{display:block !important;padding:3px 20px !important;clear:both !important;font-weight:400 !important;line-height:1.4375 !important;color:#333 !important;white-space:nowrap !important;text-decoration:none !important;margin:0 !important;transition-duration:.325s !important;background-color:#fff !important}ul.dropdown-menu #dropdown-manage-dataset-menu a:hover,ul.dropdown-menu #dropdown-manage-dataset-menu a:active,ul.dropdown-menu #dropdown-manage-dataset-menu a:focus{color:#333 !important;text-decoration:none !important;background-color:#f5f5f5 !important}form#dataset-edit{position:relative;width:100%}.canada-package-edit-toolbar{margin:0 !important;padding:0 !important}#canada-package-form-stages{background-color:#ededed;margin-bottom:30px;margin-top:0}#canada-package-form-stages[data-form-style=new]{margin-top:-30px}#canada-package-form-stages .module-heading{padding-left:15px !important}#canada-package-form-stages a.canada-package-form-stages--label{padding:17px 35px 17px 25px;display:block;width:100%;text-decoration:none !important;color:#333 !important}#canada-package-form-stages a.canada-package-form-stages--label:hover,#canada-package-form-stages a.canada-package-form-stages--label:active,#canada-package-form-stages a.canada-package-form-stages--label:focus{background:#d9d9d9;color:#333 !important;transition-duration:.325s}#canada-package-form-stages ul.nav li.nav-item{display:flex !important;flex-direction:row;flex-wrap:nowrap;position:relative;padding:0 !important}#canada-package-form-stages ul.nav li.nav-item abbr{height:auto;display:block;position:absolute;right:12px;top:50%;transform:translate(0, -50%);pointer-events:hover;cursor:help}#canada-package-form-stages ul.nav li.nav-item.active .canada-package-form-stages--label{background:#38414d;color:#fefefe !important;font-weight:600}#canada-package-form-stages ul.nav li.nav-item.active abbr i{background:#fff;border:1px solid #fff;border-radius:50%}#canada-package-form-stages ul.nav button{padding:0 !important}.canada-select2-field-wrapper div.select2-container{padding:0 !important;border:none !important;position:relative}.canada-select2-field-wrapper div.select2-container::after{content:"";font-family:"FontAwesome";font-weight:900;position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:12px;color:#333 !important;pointer-events:none !important}.canada-select2-field-wrapper div.select2-container ul.select2-choices{padding-right:15px !important}form.canada-xloader-delete-form{position:relative;display:inline-block;margin-bottom:10px !important;min-height:40px;float:left}form.datapusher-form{position:relative;display:inline-block;margin-bottom:10px !important;min-height:40px;float:left}div.canada-datastore-button-fix{height:55px}@media(max-width: 768px){div.canada-datastore-button-fix{height:65px}}input#field-resource-url{padding-right:100px !important}body .user-recaptcha-wrapper{width:304px;height:352px;position:relative}body .user-recaptcha-frame-wrapper{width:304px;height:352px;position:absolute}body .user-recaptcha-frame{width:304px;height:352px}body .user-recaptcha-text-wrapper{width:250px;height:80px;position:absolute;bottom:21px;left:25px;margin:0;padding:0;right:25px}body .user-recaptcha-text{width:250px;height:80px;border:1px solid #c1c1c1;margin:0;padding:0;resize:none}.field--name-field-vote{display:none}.form-actions{text-align:inherit}.form-actions .action-info{float:inherit;width:auto;margin-right:inherit;line-height:2;text-align:inherit;color:inherit;margin:revert}.form-actions .action-info.small{font-size:inherit;line-height:inherit}form .form-actions .btn{margin-right:6px !important}form#user-edit-form>fieldset:first-of-type{border-top:none !important}.admin-publish-date-fieldset{border:none !important}.admin-publish-date-label::after{content:none !important}.resource-upload-field .btn-remove-url{position:absolute !important;top:auto !important;right:0 !important;padding:5px !important;border-radius:0 !important;margin-top:31px !important}.resource-upload-field .upload-type input.form-control{display:inline-block !important;width:100% !important}table{table-layout:initial}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border:1px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border:1px solid #ddd}.td-center{text-align:center}.td-full{width:100%}table#dtprv thead .sorting,table#dtprv thead .sorting_asc,table#dtprv thead .sorting_desc{background-image:none}.table-striped tbody tr:nth-child(even) td,.table-striped tbody tr:nth-child(even) th{background-color:#fff}.activity{margin:10px 0;padding:0;list-style-type:none;background-image:url("/data/static/img/dotted.png");background-repeat:repeat-y;background-position:17px 0}.activity table{max-width:100% !important;overflow-x:scroll !important;display:block !important}.activity .item{position:relative;margin:0 0 15px 0;padding:0 0 15px 56px !important;font-size:14px;line-height:1.5}.activity .item::after,.activity .item::before{display:table;content:"";line-height:0;clear:both}.activity .item:not(:last-of-type)::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:2px;width:90%;border-radius:25px;background:#f6f6f6}.activity .item .fa-stack{padding:0;margin:0;width:36px;height:36px;position:absolute;left:0;top:0}.activity .item .fa-stack i{width:100%;height:100%;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important;margin:0 !important;line-height:1 !important;text-align:initial !important}.activity .item .fa-stack i::before{position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important;font-size:14px}.activity .item .fa-stack i.icon{border:4px solid #fff;display:block;position:absolute;top:0;left:0;width:30px;height:30px;line-height:30px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.2);font-weight:normal;margin-right:10px;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);padding-left:0px}.activity .item .fa-stack i.icon::before{width:40px;height:40px;font-size:40px}.activity .item .gravatar{display:none !important}.activity .item .actor{display:none !important}.activity .item .date{color:#999;font-size:12px;white-space:nowrap}.activity .item p{font-size:14px;line-height:1.5;margin:0 0 10px 0}.activity .item table{font-size:14px;line-height:1.5;margin-bottom:5px}.activity .item table p{margin:0;margin-top:10px}.activity .item h2{margin-top:0 !important}.activity .item>div{margin:0 !important}.activity .item .new{display:block;position:absolute;overflow:hidden;top:-3px;left:-3px;width:10px;height:10px;background-color:#a35647;border:1px solid #fff;text-indent:-1000px;-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.activity .item.no-avatar p{margin-left:0}.activity .item .icon{background-color:#999}.activity .item.failure .icon{background-color:#b95252}.activity .item.success .icon{background-color:#69a67a}.activity .item.added-tag .icon{background-color:#6995a6}.activity .item.changed-group .icon{background-color:#767dce}.activity .item.changed-package .icon{background-color:#8c76ce}.activity .item.changed-package_extra .icon{background-color:#769ace}.activity .item.changed-resource .icon{background-color:#aa76ce}.activity .item.changed-user .icon{background-color:#76b8ce}.activity .item.changed-organization .icon{background-color:#699fa6}.activity .item.changed-resource-view .icon{background-color:#9c89d5}.activity .item.deleted-group .icon{background-color:#b95252}.activity .item.deleted-package .icon{background-color:#b97452}.activity .item.deleted-package_extra .icon{background-color:#b95274}.activity .item.deleted-resource .icon{background-color:#b99752}.activity .item.deleted-organization .icon{background-color:#b95297}.activity .item.deleted-resource-view .icon{background-color:#c06483}.activity .item.new-group .icon{background-color:#69a67a}.activity .item.new-package .icon{background-color:#69a68e}.activity .item.new-package_extra .icon{background-color:#6ca669}.activity .item.new-resource .icon{background-color:#81a669}.activity .item.new-user .icon{background-color:#69a6a3}.activity .item.new-organization .icon{background-color:#81a669}.activity .item.new-resource-view .icon{background-color:#7caf79}.activity .item.removed-tag .icon{background-color:#b95297}.activity .item.deleted-related-item .icon{background-color:#b9b952}.activity .item.follow-dataset .icon{background-color:#767dce}.activity .item.follow-user .icon{background-color:#8c76ce}.activity .item.new-related-item .icon{background-color:#95a669}.activity .item.follow-group .icon{background-color:#8ba669}.activity .item.created-datastore .icon{color:#749a5b;background-color:#749a5b}.activity .item.changed-datastore .icon{color:#5b939a;background-color:#5b939a}.activity .item.deleted-datastore .icon{color:#ac468a;background-color:#ac468a}.activity .load-less{margin-bottom:15px}body ul.canada-job-list li.item i.fa::before{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-weight:700 !important}body ul.canada-job-list li.item i.fa.icon{color:#999;text-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);width:30px !important;height:30px !important}body ul.canada-job-list li.item i.fa.main-icon{border-radius:50% !important;width:32px !important;height:32px !important;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);background-color:#fff !important}body ul.canada-job-list li.item i.fa.main-icon::before{font-size:14px !important;width:24px;height:24px;line-height:24px !important;color:#fff !important;stroke:#fff !important;border-radius:50%;text-align:center}body ul.canada-job-list li.item i.fa.main-icon::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:24px;height:24px;border-radius:50%;line-height:1 !important;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}body ul.canada-job-list li.item.rq-job-queued i.fa.main-icon::before{color:#fff !important;background-color:#999}body ul.canada-job-list li.item.rq-job-queued i.fa.icon{color:#999}body ul.canada-job-list li.item.rq-job-deferred i.fa.main-icon::before{color:#fff !important;background-color:#ffc107}body ul.canada-job-list li.item.rq-job-deferred i.fa.icon{color:#ffc107}body ul.canada-job-list li.item.rq-job-started i.fa.main-icon::before{color:#fff !important;background-color:#28a745}body ul.canada-job-list li.item.rq-job-started i.fa.icon{color:#28a745}body ul.canada-job-list li.item.rq-job-finished i.fa.main-icon::before{color:#fff !important;background-color:#17a2b8}body ul.canada-job-list li.item.rq-job-finished i.fa.icon{color:#17a2b8}body ul.canada-job-list li.item.rq-job-failed i.fa.main-icon::before{color:#fff !important;background-color:#dc3545}body ul.canada-job-list li.item.rq-job-failed i.fa.icon{color:#dc3545}body ul.canada-job-list .canada-job-item-title{font-size:115%;font-weight:600}div.canada-job-list-title strong{font-size:16px;line-height:23px}div.canada-job-list-title small{font-size:87%}body ul.xloader-log li.item{position:relative}body ul.xloader-log li.item>i{background-color:#fff !important;position:absolute;left:0;top:0;border-radius:50%;outline:4px solid #999;height:34px !important;width:34px !important;padding:0;margin:0;line-height:1 !important;text-align:initial !important;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}body ul.xloader-log li.item>i::before{width:16px;height:16px;font-size:16px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center;background-color:rgba(0,0,0,0) !important;color:#fff !important;z-index:2}body ul.xloader-log li.item>i::after{content:"";background-color:#999 !important;border-radius:50%;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);z-index:1}body ul.xloader-log li.item.success>i{outline-color:#69a67a !important}body ul.xloader-log li.item.success>i::after{background-color:#69a67a !important}body ul.xloader-log li.item.failure>i{outline-color:#b95252 !important}body ul.xloader-log li.item.failure>i::after{background-color:#b95252 !important}#s2id_field-department,#s2id_field-organizations{min-height:37px !important}#s2id_field-department.select2-container,#s2id_field-organizations.select2-container{vertical-align:initial !important;width:100% !important;height:100% !important}#s2id_field-department.select2-container .select2-choice,#s2id_field-department.select2-container .select2-chosen,#s2id_field-organizations.select2-container .select2-choice,#s2id_field-organizations.select2-container .select2-chosen{height:100% !important}#s2id_field-department.select2-container .select2-choice,#s2id_field-organizations.select2-container .select2-choice{font-size:16px !important;line-height:1.4375 !important;padding:6px 12px !important}#s2id_field-department.select2-container .select2-arrow b,#s2id_field-organizations.select2-container .select2-arrow b{background-position-y:-100%}.s2id_field-organizations_wrapper{margin-bottom:0 !important}.s2id_field-organizations_wrapper .error-block{margin-top:-8px;padding-top:8px !important}body .text-info{color:#31708f !important}body .bg-info{background-color:#d9edf7 !important}body .text-warning{color:#8a6d3b !important}body .bg-warning{background-color:#fcf8e3 !important}body .text-danger{color:#a94442 !important}body .bg-danger{background-color:#f2dede !important}body .error-block,body .error-inline{font-size:12px !important;line-height:23px !important}body .btn.btn-light{color:#335075 !important;background-color:#eaebed !important;border-color:#dcdee1 !important}body .btn.btn-light:hover,body .btn.btn-light:active,body .btn.btn-light:focus{background-color:#cfd1d5;border-color:#bbbfc5}body a[class=btn],body button[class=btn]{color:#335075;background-color:#eaebed;border-color:#dcdee1}body a[class=btn]:hover,body a[class=btn]:active,body a[class=btn]:focus,body button[class=btn]:hover,body button[class=btn]:active,body button[class=btn]:focus{background-color:#cfd1d5;border-color:#bbbfc5}body .module-heading{padding:10px 25px !important;font-size:14px !important;line-height:1.3 !important}body .module-narrow .module-heading{padding-left:15px !important;padding-right:15px !important}body .accordion-button{font-size:16px !important;line-height:1.3 !important}body .accordion-header{margin:0 !important}body .accordion{margin-bottom:15px !important}body .resource-upload-field i.fa{margin-right:4px !important}body form#form-purge-all a.purge-all{margin-bottom:15px !important}body .canada-admin-trash #accordion-group{display:none !important}body .float-right{float:right}body .float-left{float:left}body .modal.fade,body .popover.fade{animation:modal-fade-out .325s ease-in 0s forwards !important}body .modal.fade.show,body .popover.fade.show{animation:modal-fade-in .325s ease-in 0s forwards !important}body .popover .popover-header{margin:0 !important;font-size:16px !important;padding:8px 14px !important}body .btn.btn-secondary{color:#fff !important}@media(max-width: 768px){body body div#wb-bnr>div.row{flex-direction:row-reverse}}body .form-select{appearance:auto !important;-webkit-appearance:auto !important;-moz-appearance:auto !important}body #timeout,body .modal{background:rgba(0,0,0,.15) !important}body #timeout>.modal-dialog{position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%, -25%) !important}@media(max-width: 768px){body #timeout>.modal-dialog{top:35% !important;max-width:80% !important;min-width:80% !important;width:80% !important}}body .modal .modal-dialog .modal-content button.btn-close{background-color:rgba(0,0,0,0);background-position:center;background-repeat:no-repeat;background-image:url("/data/static/img/data_img/modal-close.svg")}body .panel-title>.label.label-info,body h1>.label.label-info{display:inline-block;vertical-align:bottom}body .clear-fix{clear:both !important}body .accordion-heading{margin:0 !important}body .accordion-button{padding-right:25px !important}body .accordion-button.no-after{background-color:#f5f5f5 !important;color:#333 !important}body .accordion-button.no-after::after{background-image:none !important}body form[action*="/dictionary/"] h3:first-of-type{margin-top:0 !important}body div.btn-group:not(.dropdown){display:flex;flex-direction:row;flex-wrap:nowrap}body .canada-resource-dropdown-explore a{text-decoration:none !important}footer#wb-info{margin-top:36px !important;z-index:1 !important}body .canada-w10-spacer{display:inline-block !important;margin:0 !important;padding:0 !important;min-width:10px !important;max-width:10px !important;width:10px !important;min-height:0 !important;max-height:0 !important;height:0 !important;line-height:0 !important}body .canada-v10-spacer{display:block !important;margin:0 !important;padding:0 !important;min-height:10px !important;max-height:10px !important;height:10px !important;min-width:0 !important;max-width:0 !important;width:0 !important;line-height:0 !important}body .show{display:block}body .border-0{border:0 !important}body .wrapall{word-wrap:break-word;word-break:break-all;white-space:normal}body .clear-both{clear:both}body .float-none{float:none}body .canada-display-none{display:none}body .canada-border-none{border:none}body .canada-width-auto{width:auto}body .canada-width-full{width:100%}body .canada-break-words{word-wrap:break-word}body .canada-list-disc{list-style-type:disc}body .canada-padding-top-25{padding-top:25px}body .canada-margin-top-0{margin-top:0}body .canada-margin-bottom-0{margin-bottom:0}body .canada-margin-bottom-10{margin-bottom:10px}body .canada-margin-bottom-15{margin-bottom:15px}body .canada-margin-left-10{margin-left:10px}body .d-none-soft{display:none}body .canada-flex{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%}@media(max-width: 768px){body .canada-flex{flex-wrap:wrap}}body .canada-cursor-help{cursor:help !important;text-decoration:underline dotted !important}body,body .module-grid,body .media-grid,body .main,body .account-masthead,body .masthead,body .site-footer{background-image:none !important}body .form-select{background-image:none}body .form-select.is-valid:not([multiple]):not([size]),body .form-select.is-valid:not([multiple])[size="1"]{background-image:none}body .form-select.is-invalid:not([multiple]):not([size]),body .form-select.is-invalid:not([multiple])[size="1"]{background-image:none}body .form-check-input:checked[type=checkbox]{background-image:none}body .form-check-input:checked[type=radio]{background-image:none}body .form-check-input[type=checkbox]:indeterminate{background-image:none}body .form-switch .form-check-input{background-image:none}body .form-switch .form-check-input:focus{background-image:none}body .form-switch .form-check-input:checked{background-image:none}body .was-validated .form-control:valid{background-image:none}body .was-validated .form-control:invalid{background-image:none}body .was-validated .form-select:valid:not([multiple]):not([size]),body .was-validated .form-select:valid:not([multiple])[size="1"]{background-image:none}body .was-validated .form-select:invalid:not([multiple]):not([size]),body .was-validated .form-select:invalid:not([multiple])[size="1"]{background-image:none}body .form-control.is-valid{background-image:none}body .form-control.is-invalid{background-image:none}body .navbar-light .navbar-toggler-icon{background-image:none}body .navbar-dark .navbar-toggler-icon{background-image:none}body .accordion-button:not(.collapsed)::after{background-image:url("/data/static/img/data_img/chevron-down-blue.svg")}body .accordion-button::after{background-image:url("/data/static/img/data_img/chevron-down-grey.svg")}body .btn-close{background-image:none}body .carousel-control-prev-icon{background-image:none}body .carousel-control-next-icon{background-image:none}body .format-label{background-image:url("/data/base/images/sprite-resource-icons.png")}ul.resource-list>li.resource-item span.format-label[data-format=pbix]{background-image:url("/data/static/img/sprite-resource-additional-icons.png");background-repeat:no-repeat;width:60px;height:65px;background-position:-120px -220px;transform:scale(0.53);margin:-14px 0 0 -14px}ul.resource-list>li.resource-item span.format-label[data-format=mp4],ul.resource-list>li.resource-item span.format-label[data-format=flv],ul.resource-list>li.resource-item span.format-label[data-format=mov],ul.resource-list>li.resource-item span.format-label[data-format=avi],ul.resource-list>li.resource-item span.format-label[data-format=mkv],ul.resource-list>li.resource-item span.format-label[data-format=wmv]{background-image:url("/data/static/img/sprite-resource-additional-icons.png");background-repeat:no-repeat;width:60px;height:65px;background-position:-220px -220px;transform:scale(0.53);margin:-14px 0 0 -14px}ul.resource-list>li.resource-item span.format-label[data-format=md],ul.resource-list>li.resource-item span.format-label[data-format=markdown]{background-image:url("/data/static/img/sprite-resource-additional-icons.png");background-repeat:no-repeat;width:60px;height:65px;background-position:-320px -220px;transform:scale(0.53);margin:-14px 0 0 -14px}.canada-wet-datatable-btn-primary{color:#fff !important;background:#26374a !important;border-color:#1d2a39 !important;transition-duration:.325s !important}.canada-wet-datatable-btn-primary.disabled{color:#fff !important;background:#adc0d5 !important;border-color:#9cb3cd !important}.canada-wet-datatable-btn-primary:not(.disabled):hover,.canada-wet-datatable-btn-primary:not(.disabled):active,.canada-wet-datatable-btn-primary:not(.disabled):focus{background:#1c578a !important;border-color:#091c2d !important}.canada-wet-datatable-btn-danger{color:#fff !important;background:#bc3331 !important;border-color:#6b1d1c !important;transition-duration:.325s !important}.canada-wet-datatable-btn-danger.disabled{color:#fff !important;background:#ebb3b2 !important;border-color:#e6a1a0 !important}.canada-wet-datatable-btn-danger:not(.disabled):hover,.canada-wet-datatable-btn-danger:not(.disabled):active,.canada-wet-datatable-btn-danger:not(.disabled):focus{background:#942826 !important;border-color:#3b100f !important} \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/frictionless.min.js b/ckanext/canada/assets/custom/build/frictionless.min.js new file mode 100644 index 000000000..5e9741dcc --- /dev/null +++ b/ckanext/canada/assets/custom/build/frictionless.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e=$(".frictionless-components-report"),a=0;let t=setInterval(function(){if(e=$(".frictionless-components-report"),a>=10||e.length>0)return e.length>0&&function(e){let a=$(e).find("a.badge.collapsed"),t=$(e).find("div.collapse");a.length>0&&t.length>0&&$(a).each(function(e,a){$(t).eq(e).attr("id","validation-error-"+e).collapse("show"),$(a).attr("data-bs-toggle","collapse").attr("data-toggle",null).attr("aria-controls","validation-error-"+e).removeClass("collapsed").attr("aria-expanded","true"),$(a).off("click"),$(a).on("click",function(l){l.stopPropagation(),l.stopImmediatePropagation(),l.preventDefault(),$(a).hasClass("collapsed")?($(t).eq(e).collapse("show"),$(a).removeClass("collapsed").attr("aria-expanded","true")):($(t).eq(e).collapse("hide"),$(a).addClass("collapsed").attr("aria-expanded","false"))})})}(e),clearInterval(t),void(t=!1);a++},250)})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/guess_mimetype.min.js b/ckanext/canada/assets/custom/build/guess_mimetype.min.js new file mode 100644 index 000000000..ed5d0811e --- /dev/null +++ b/ckanext/canada/assets/custom/build/guess_mimetype.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){const e=$("html").attr("lang").length>0?$("html").attr("lang"):"en",t=["csv","tsv"];let a=$(".resource-upload-field.form-group"),n=$("#field-resource_type"),s=$("#field-character_set"),r=$("#field-format");const o=$(r).val();r.length>0&&($(r).select2({}),$(r).parent().children("#s2id_field-format").addClass("conrtol-medium").removeClass("form-control").removeClass("form-select").css({display:"block"}));let l=$("#resource-url-upload");function i(t){let n="You are linking to an external "+t+' file. To access full validation and API features, upload it directly to the Registry. Your data will be validated for errors, loaded into a dedicated database table, and accessible via the API. This will make your data simpler to manage, access, reuse, and share with other tools and systems.';"fr"==e&&(n="Vous avez créé un lien vers un fichier "+t+' externe. Pour avoir accès à toutes les fonctionnalités de validation et d\'intégration d\'une API, téléversez le fichier directement dans le Registre. Vos données seront validées pour détecter les erreurs, chargées dans une table de base de données qui leur est destinée et accessibles au moyen de l\'API. Vos données seront ainsi plus faciles à gérer, à consulter, à réutiliser et à partager avec d\'autres outils et systèmes.'),$(a).after('")}function c(){$(".canada-guess-mimetype-alert").remove(),$(".canada-link-ds-upload-alert").remove()}function d(e,a){let n=$('meta[name="csrf_field_name"]').attr("content"),s=$('meta[name="'+n+'"]').attr("content");payload={url:e},payload[n]=s,$.ajax({url:"/api/action/canada_guess_mimetype",type:"POST",dataType:"JSON",data:payload,complete:function(e){e.responseJSON&&e.responseJSON.success?(u(e.responseJSON.result),!a&&t.includes(e.responseJSON.result.toLowerCase())&&i(e.responseJSON.result)):u("")}})}function u(t){0==$(r).find('option[value="'+t+'"]').length&&(t=""),$(r).val(t).trigger("change"),t.length>0&&function(t){let n="Set Resource Format to "+t+"";"fr"==e&&(n="Établissez le format de la ressource à "+t+""),$(a).after('

'+n+"

")}(t)}function p(){$(s).val("UTF-8").trigger("change"),$(n).val("dataset").trigger("change"),u("CSV")}!(void 0!==l&&l.length>0&&$(l).is(":checked"))&&void 0!==o&&o.length>0&&t.includes(o.toLowerCase())&&i(o),function e(){let t=$("input#field-resource-url"),a=$("input#field-resource-upload"),n=$("button#resource-table-designer-button"),s=$("button.btn-remove-url");s.length>0&&$(s).each(function(t,a){$(a).off("click.reset_guessing"),$(a).on("click.reset_guessing",function(t){c(),e()}),$(a).off("keyup.reset_guessing"),$(a).on("keyup.reset_guessing",function(t){let a=t.keyCode?t.keyCode:t.which;32!=a&&13!=a||(c(),e())})}),$(t).off("change.guess_mimetype"),$(t).on("change.guess_mimetype",function(e){c();let a=$(t).val();a.length>0&&d(a,!1)}),$(a).off("change.guess_mimetype"),$(a).on("change.guess_mimetype",function(e){c();const t=e.target.files[0];let a="";t&&(a=t.name),a.length>0&&d(a,!0)}),$(n).off("click.set_mimetype"),$(n).on("click.set_mimetype",function(e){c(),p()}),$(n).off("keyup.set_mimetype"),$(n).on("keyup.set_mimetype",function(e){let t=e.keyCode?e.keyCode:e.which;32!=t&&13!=t||(c(),p())})}()})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/i18n.min.js b/ckanext/canada/assets/custom/build/i18n.min.js new file mode 100644 index 000000000..4d1ff9d96 --- /dev/null +++ b/ckanext/canada/assets/custom/build/i18n.min.js @@ -0,0 +1 @@ +var i18n={OGSCart_empty:{en:"Map Cart is Empty",fr:"Le panier est vide"},OGSCart_full:{en:"Map Cart is full",fr:"Le panier est plein"},OGSCart_has:{en:"Map Cart",fr:"Le panier"},OGSCart_of:{en:"of",fr:"de"}}; \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/more_like_this.min.js b/ckanext/canada/assets/custom/build/more_like_this.min.js new file mode 100644 index 000000000..72941b964 --- /dev/null +++ b/ckanext/canada/assets/custom/build/more_like_this.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).on("wb-ready.wb",function(e){$("#related_pkgs ul").removeClass("list-unstyled"),$("#related_pkgs li:gt(4)").remove()})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/organization_edit.min.js b/ckanext/canada/assets/custom/build/organization_edit.min.js new file mode 100644 index 000000000..cc441ef09 --- /dev/null +++ b/ckanext/canada/assets/custom/build/organization_edit.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(function(){let f=$("#field-name");function n(f,n){let l=f?$.url.slugify(f,!0):"",o=n?$.url.slugify(n,!0):"";return l&&!o?l:!l&&o?o:l==o?l:l+"-"+o}f.val()||($("#field-shortform-en").on("input",function(){f.val(n($("#field-shortform-en").val(),$("#field-shortform-fr").val()))}),$("#field-shortform-fr").on("input",function(){f.val(n($("#field-shortform-en").val(),$("#field-shortform-fr").val()))}))})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/package_confirm_contact_email.min.js b/ckanext/canada/assets/custom/build/package_confirm_contact_email.min.js new file mode 100644 index 000000000..de32f23ea --- /dev/null +++ b/ckanext/canada/assets/custom/build/package_confirm_contact_email.min.js @@ -0,0 +1 @@ +ckan.module("package_confirm_contact_email",function(t){return{initialize:function(){function a(){t("#confirm-contact-email.modal").attr("aria-hidden",!0),t("#confirm-contact-email.modal").attr("tabindex",-1),t("#confirm-contact-email.modal").hide()}t("#go-back-email").on("click",function(i){a(),t("#field-maintainer_email").focus(),i.preventDefault(),i.stopPropagation()}),t("#continue-submit").on("click",function(a){t("").attr("type","hidden").attr("name","save").attr("value",!0).appendTo("#dataset-edit"),t("#dataset-edit").submit()}),t("#confirm-contact-email-dismiss").on("click",function(t){a(),t.preventDefault(),t.stopPropagation()}),t("#confirm-contact-email").on("click",function(t){a(),t.preventDefault(),t.stopPropagation()}),t("#confirm-contact-email .modal-content").on("click",function(t){t.preventDefault(),t.stopPropagation()}),t("#dataset-edit .form-actions button[type='submit'][name='save']").click(function(a){if(void 0===t("#field-maintainer_email")||void 0===t("#field-maintainer_email").val()||""===t("#field-maintainer_email").val().trim())return a.preventDefault(),a.stopPropagation(),t("#confirm-contact-email.modal").attr("aria-hidden",!1),t("#confirm-contact-email.modal").attr("tabindex",0),t("#confirm-contact-email.modal").show(),!1})}}}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/package_edit.min.js b/ckanext/canada/assets/custom/build/package_edit.min.js new file mode 100644 index 000000000..2ed3c652c --- /dev/null +++ b/ckanext/canada/assets/custom/build/package_edit.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){$("fieldset[name=scheming-repeating-subfields]").on("scheming.subfield-group-init",function(){$(this).find("div.scheming-subfield-group").last().find("span.wb-date-wrap.input-group").each(function(i,e){var n=$(e).clone().find("input").first().removeClass("wb-init wb-date-inited picker-field");$(e).replaceWith(n)}),$wetjq("input[type=date]").trigger("wb-init.wb-date")})})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/recombinant_webform.min.js b/ckanext/canada/assets/custom/build/recombinant_webform.min.js new file mode 100644 index 000000000..2457074f7 --- /dev/null +++ b/ckanext/canada/assets/custom/build/recombinant_webform.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e=$(".recombinant-select2");e.length>0&&$(e).each(function(e,n){let t=$(n).attr("id");$(n).select2({}),$(n).parent().children("#s2id_"+t).addClass("conrtol-medium").removeClass("form-control").css({display:"block"})})})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/registry_analytics.min.js b/ckanext/canada/assets/custom/build/registry_analytics.min.js new file mode 100644 index 000000000..1e684b928 --- /dev/null +++ b/ckanext/canada/assets/custom/build/registry_analytics.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e,t,n=document.referrer;if($("#usr-logged").length>0&&$("#usr-logged").find(".username").length>0&&(e=$("#usr-logged").find(".username")[0].innerText),$("h1").length>0&&(t=$("h1")[0].innerText),"undefined"!=typeof gtag){let a=$(".canada-ga-flash");a.length>0&&$(a).each(function(a,r){let l=$(r).attr("data-ga-event"),g=$(r).attr("data-ga-action"),i=$(r)[0].innerText;l.length>0&&g.length>0&>ag("event",l,{action:g,message:i,user:e,title:t,referrer:n})}),$("#xls_download").length>0&&$("#xls_download").on("click",function(a){gtag("event","recombinant",{action:"Template Downloaded",user:e,title:t,referrer:n})}),$("a.get-help-analytics").length>0&&$("a.get-help-analytics").on("click",function(a){gtag("event","user",{action:"Get Help",user:e,title:t,referrer:n})})}})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/resource_edit.min.js b/ckanext/canada/assets/custom/build/resource_edit.min.js new file mode 100644 index 000000000..6133b7c87 --- /dev/null +++ b/ckanext/canada/assets/custom/build/resource_edit.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){let e=$("header.page-header ul.nav-tabs");if(e.length>0){0===$(e).find("li.active").length&&$(e).find("li").first().addClass("active")}let n=$(".resource-upload-field");if(n.length>0){let e=$(n).find(".error-block");e.length>0&&$(e).each(function(e,t){0===e?$(t).appendTo(n):$(t).remove()})}})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/users.min.js b/ckanext/canada/assets/custom/build/users.min.js new file mode 100644 index 000000000..34f8f1ec9 --- /dev/null +++ b/ckanext/canada/assets/custom/build/users.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).ready(function(){function n(n,c,t){$.ajax({url:"/api/action/security_throttle_user_reset",type:"POST",dataType:"JSON",data:{user:n},complete:function(n){n.responseJSON&&n.responseJSON.success?0==n.responseJSON.result.count&&($(t).off("click.unlockAccount"),$(t).off("keyup.unlockAccount"),$(t).parent().removeClass("text-warning").addClass("text-success"),$(t).parent().html(' ')):alert(c)}})}let c=$(".canada-security-unlock");c.length>0&&$(c).each(function(c,t){let e=$(t).attr("data-user"),o=$(t).attr("data-error");e.length>0&&($(t).off("click.unlockAccount"),$(t).off("keyup.unlockAccount"),$(t).on("click.unlockAccount",function(c){n(e,o,t)}),$(t).on("keyup.unlockAccount",function(c){13==(c.keyCode?c.keyCode:c.which)&&n(e,o,t)}))})})}); \ No newline at end of file diff --git a/ckanext/canada/assets/custom/build/voting_fix.min.js b/ckanext/canada/assets/custom/build/voting_fix.min.js new file mode 100644 index 000000000..ba704ca4a --- /dev/null +++ b/ckanext/canada/assets/custom/build/voting_fix.min.js @@ -0,0 +1 @@ +function load_voting_scripts(){var t=document.getElementById("voting-wrapper"),e=!1;if(void 0!==t&&null!=t){t.classList.contains("canada-voting-fix-hide")||t.classList.add("canada-voting-fix-hide");const s=1,i=["https://cdn.jsdelivr.net/gh/gjunge/rateit.js@1.1.2/scripts/jquery.rateit.min.js","/modules/contrib/webform/js/webform.element.rating.js?cv="+s],n=["/profiles/og/modules/custom/voting_webform/css/rating.css?cv="+s,"https://cdn.jsdelivr.net/gh/gjunge/rateit.js@1.1.2/scripts/rateit.css","/modules/contrib/webform/css/webform.element.rating.css?cv="+s];const a=new MutationObserver(function(s){s.forEach(function(s){s.target.getAttribute(s.attributeName).includes("wb-data-ajax-replace-inited")&&(setTimeout(function(){if(e)return;const s=document.querySelector("script[nonce]").nonce;0!=t.getElementsByTagName("form").length&&(i.forEach(function(t){var e=document.createElement("script");e.type="text/javascript",e.src=t,e.setAttribute("nonce",s),document.head.appendChild(e)}),n.forEach(function(t){var e=document.createElement("link");e.rel="stylesheet",e.media="all",e.href=t,e.setAttribute("nonce",s),document.head.appendChild(e)}),e=!0,t.classList.contains("og-fade-in")||t.classList.add("og-fade-in"),t.classList.contains("canada-voting-fix-hide")&&t.classList.remove("canada-voting-fix-hide"),t.classList.contains("canada-voting-fix-show")||t.classList.add("canada-voting-fix-show"),a.disconnect())},750),setTimeout(function(){t.classList.contains("og-fade-in")||t.classList.add("og-fade-in"),t.classList.contains("canada-voting-fix-hide")&&t.classList.remove("canada-voting-fix-hide"),t.classList.contains("canada-voting-fix-show")||t.classList.add("canada-voting-fix-show")},1500))})});a.observe(t,{attributes:!0,attributeFilter:["class"]})}}load_voting_scripts(); \ No newline at end of file diff --git a/ckanext/canada/assets/public/adobe_analytics_fix.js b/ckanext/canada/assets/custom/source/adobe_analytics_fix.js similarity index 100% rename from ckanext/canada/assets/public/adobe_analytics_fix.js rename to ckanext/canada/assets/custom/source/adobe_analytics_fix.js diff --git a/ckanext/canada/assets/public/canada_public_analytics.js b/ckanext/canada/assets/custom/source/analytics.js similarity index 100% rename from ckanext/canada/assets/public/canada_public_analytics.js rename to ckanext/canada/assets/custom/source/analytics.js diff --git a/ckanext/canada/assets/internal/cascading_select.js b/ckanext/canada/assets/custom/source/cascading_select.js similarity index 100% rename from ckanext/canada/assets/internal/cascading_select.js rename to ckanext/canada/assets/custom/source/cascading_select.js diff --git a/ckanext/canada/assets/public/check_all.js b/ckanext/canada/assets/custom/source/check_all.js similarity index 100% rename from ckanext/canada/assets/public/check_all.js rename to ckanext/canada/assets/custom/source/check_all.js diff --git a/ckanext/canada/assets/custom/source/custom_styles.scss b/ckanext/canada/assets/custom/source/custom_styles.scss new file mode 100644 index 000000000..13b579970 --- /dev/null +++ b/ckanext/canada/assets/custom/source/custom_styles.scss @@ -0,0 +1,3303 @@ +/*########################## +## Variables and Mixins ## +############################*/ +$can-dark-blue: #335075; +$can-accent-deep-blue: #284162; +$can-deepest-blue: #26374a; +$can-link-blue: #256EB8; +$can-link-visited: #295376; +$can-lite-blue: #2572b4; +$can-lite-grey: #ccc; +$can-table-grey: #ddd; +$can-open-data-link: #088; +$can-sug-data-link: #f80; +$can-sug-data-lite-link: #f88; +$can-open-dial-link: #f08; +$can-open-info-link: #80f; +$can-search-link: #888; +$can-pd-link: #44a; +$can-pd-label: #44f; +$can-required-text: #e00; +$btn-primary-text: #ffffff; +$btn-primary-bkg: #26374a; +$btn-primary-brd: #1d2a39; +$btn-primary-bkg-hover: #1c578a; +$btn-primary-brd-hover: #091c2d; +$btn-primary-bkg-dis: #adc0d5; +$btn-primary-brd-dis: #9cb3cd; +$btn-danger-text: #ffffff; +$btn-danger-bkg: #bc3331; +$btn-danger-brd: #6b1d1c; +$btn-danger-bkg-hover: #942826; +$btn-danger-brd-hover: #3b100f; +$btn-danger-bkg-dis: #ebb3b2; +$btn-danger-brd-dis: #e6a1a0; +$btn-success-bkg: #1b6c1c; +$btn-success-bkg-hover: #114311; + +@keyframes fade-opacity-in{ + from{ + opacity: 0; + pointer-events: none; + } + to{ + opacity: 1; + pointer-events: all; + } +} + +@keyframes flash-fade-in-alert{ + 0% { + opacity: 0; + } + 33% { + opacity: 0.25; + } + 67% { + opacity: 0.75; + } + 100% { + opacity: 1; + } +} + +@keyframes flash-fade-in-close-button{ + 0% { + visibility: hidden; + opacity: 0; + } + 67% { + visibility: hidden; + opacity: 0; + } + 100% { + visibility: visible; + opacity: 0.625; + } +} + +@keyframes modal-fade-in{ + 0% { + opacity: 0; + } + 33% { + opacity: 0.25; + } + 67% { + opacity: 0.75; + } + 100% { + opacity: 1; + } +} + +@keyframes modal-fade-out{ + 0% { + opacity: 1; + } + 33% { + opacity: 0.75; + } + 67% { + opacity: 0.25; + } + 100% { + opacity: 0; + } +} +/*########################## +## END ## +## Variables and Mixins ## +## END ## +############################*/ + +/*########## +## Root ## +############*/ +body, +[role="main"], +.main{ + background: none; +} + +footer{ + margin-top: 15px; +} + +#flDebug{ + .flDebugPanelContentParent{ + overflow: scroll !important; + } +} + +body > header{ + z-index: 3 !important; +} + +body #canada-main-container{ + z-index: 2 !important; +} +/*########## +## END ## +## Root ## +## END ## +############*/ + +/*################### +## Miscellaneous ## +#####################*/ +.label.dataset-private{ + display: none; +} + +.list-facets a{ + text-decoration: none; + &:visited { + color: $can-link-visited; + } +} + +.fgpv{ + height: 700px; + border: 1px solid black; + margin: 1em 0; + position: relative; +} + +.mfp-bg{ + opacity: .5; +} + +img.openness-rating-stars{ + margin-bottom: 0px !important; +} + +.facet-item{ + padding-bottom: 3px; + padding-top: 3px; +} + +.module-content{ + padding: 0; +} + +.context-info .nums{ + border: none; +} + +.resource-tags{ + text-align: left; + white-space: inherit; + word-break: break-word; + word-wrap: break-word; +} + +#resource-desc{ + word-break: break-word; + word-wrap: break-word; +} + +.pkg-rss-feed-text{ + color: white; +} + +.canada-debug-wrapper{ + border: 2px solid #af3c43; + border-radius: 3px; + margin-top: 15px; + padding: 15px; + > div.container{ + max-width: 100% !important; + } +} + +.resource-list td{ + vertical-align: middle !important; +} + +.header-title-box{ + border-left: 1px solid $can-lite-grey; + border-right: 1px solid $can-lite-grey; + padding-top: 12px; + > h1{ + margin-top: 0; + margin-bottom: 12px; + border-bottom: 1px solid $can-lite-grey; + font-size: 30px; + } +} + +ol.breadcrumb{ + margin-bottom: 0px; +} + +.breadcrumb li:last-child a{ + background: transparent !important; + color: black; + pointer-events: none; + cursor: default; + text-decoration: none; +} + +.list-facets{ + a{ + text-decoration: none; + &:visited{ + color: $can-link-visited; + } + } +} + +.res-tag{ + font-size: 10px; +} + +.res-tag-lang{ + background-color: #256EB8; +} + +.resource-heading{ + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +#wb-info{ + a{ + text-decoration: none; + } + > .wb-navcurr{ + padding-top: 2em; + padding-bottom: 2em; + } +} + +.ftr-urlt-lnk{ + li:before{ + content: "\2022"; + margin-right: 0.7em; + } + li:first-child:before{ + content: none; + } +} + +.goodtables-ui-report{ + .file-heading{ + .file-name, .file-count{ + display: none; + } + .inner::before{ + content: none; + } + } + .passed-tests li .badge.badge-success{ + display: none; + } + .result{ + margin: 0; + .error-details .error-list .error-list-heading{ + display: none; + } + } +} + +a#edit-comment-body-0-format-help-about, +button#edit-submit,button#edit-actions-submit{ + width: auto; + top: auto; +} + +.geomap-progress{ + &:before { + background: none; + } + &:after { + content: none; + } +} + +.geographic-region-wrapper{ + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: baseline; + > div{ + padding-left: 0; + } +} + +.panel{ + &.panel-primary{ + border-color: $can-dark-blue; + .panel-heading{ + border-color: $can-dark-blue; + background: $can-dark-blue; + a{ + color: #fff; + } + } + } + .canada-panel-heading{ + font-weight: 600; + } +} + +.panel-primary{ + overflow-wrap: break-word; +} + +label.no-colon::after{ + content: none !important; +} + +.filter-list{ + margin-top: 10px !important; + a.facet-pill{ + margin-left: 0 !important; + margin-right: 8px !important; + margin-bottom: 8px !important; + } +} + +body i.fa.fa-chart-bar::before{ + content: '\f080' !important; +} + +body i.fa.fa-arrow-left::before{ + margin-right: 6px !important; +} + +body .canada-admin-publish-checkbox{ + float: right; + display: inline-block; + margin-top: -25px; +} + +body .canada-draft-title-pill{ + padding-top: 4px; + padding-bottom: 4px; +} + +body .canada-status-modal{ + max-height: 185px; + max-width: 600px; +} + +body .pd-datatable-ref-link{ + opacity: 0.65; + margin-left: 4px; + small{ + font-size: 75%; + } +} + +body .ogscartwrapper{ + display: none; + visibility: hidden; +} + +body .canada-mfa-help-link{ + display: none; + margin-right: 20px; +} + +body .canada-imso-approval-help-text{ + margin-bottom: 15px; + display: inline-block; +} + +.canada-voting-fix-hide{ + opacity: 0; + pointer-events: none !important; +} + +.canada-voting-fix-show{ + pointer-events: all !important; +} + +body select[data-field-select2="True"]{ + display: none !important; +} + +.canada-dt-search-input-no-fts{ + cursor: not-allowed !important; + outline: none !important; + box-shadow: none !important; +} + +.canada-dt-hidden-div-fix{ + height: 1 !important; + width: 1 !important; + overflow: hidden !important; + position: fixed !important; + top: 0 !important; + left: 0 !important; +} + +#promise-download-alert-inner span{ + font-weight: 600 !important; + font-size: 32px !important; + color: #38414d !important; +} + +body .canada-status-modal > div.modal-dialog{ + margin: auto; +} + +body details.canada-abbr{ + margin: 0; + padding: 0; + display: inline !important; + color: inherit; + border: none !important; + outline: none !important; + summary{ + color: inherit; + margin: 0; + padding: 0; + cursor: pointer !important; + border: none !important; + text-decoration: underline dotted !important; + outline: none !important; + &::marker{ + display: none !important; + content: none !important; + } + i{ + opacity: 0.75; + } + } +} + +tbody.recombinant-data-dictionary-suffix-ref{ + display: table-header-group !important; + th, td{ + background-color: #d9edf7 !important; + } +} +/*################### +## END ## +## Miscellaneous ## +## END ## +#####################*/ + +/*############# +## Buttons ## +###############*/ +div.dt-button-collection{ + width: 50%; + a.dt-button{ + display: inline-block; + } +} + +button.dt-button, +div.dt-button, +a.dt-button { + padding: 2px 10px; +} + +.btn .icon{ + padding-left: 0; + min-height: 0; + min-width: 0; +} + +body #resource-schema-buttons div.form-group > a.btn:nth-of-type(2){ + display: none !important; + z-index: -1 !important; +} +/*############# +## END ## +## Buttons ## +## END ## +###############*/ + +/*################################### +## Menu, Toolbars, & Navigations ## +#####################################*/ +#menu-bar { + background-color: $can-link-blue; + margin-bottom: 15px; + .container{ + @media (max-width: 600px){ + padding-right: 0; + padding-left: 0; + } + } +} + +.page-header{ + .nav-tabs li.active a{ + background-color: $can-dark-blue; + color: #fff; + } + .content_action{ + margin-top: 3px; + } + &.module-content{ + padding-top: 0; + padding-bottom: 0; + } +} + +.nav-pills{ + > li.active{ + > a, >a:hover, >a:focus{ + color: #fff; + background-color: $can-dark-blue; + } + } +} + +nav#wb-bc{ + @media (max-width: 768px){ + padding-left: 15px !important; + } +} + +.topnav{ + overflow: hidden; + width: 100%; + display: table; + @media (max-width: 600px){ + display: block; + width: auto; + &.responsive{ + position: relative; + .icon{ + position: absolute; + right: 0; + top: 0; + } + a{ + float: none; + display: block; + text-align: left; + } + .dropdown-new{ + float: none; + .dropbtn{ + display: block; + width: 100%; + text-align: left; + } + } + .dropdown-content{ + position: relative; + } + } + } + > a{ + display: table-cell; + vertical-align: middle; + color: #f2f2f2; + text-align: center; + padding: 14px 16px; + text-decoration: none; + font-size: 16px; + border-left: 1px solid rgb(153,153,153); + text-shadow: 1px 1px 1px #222; + &:nth-last-child(2){ + border-right: 1px solid rgb(153,153,153); + @media (max-width: 600px){ + border-right: none; + } + } + } + a{ + &:hover, &:focus{ + background-color: $can-dark-blue; + color: white; + } + &:focus{ + outline: 5px auto black; + outline-offset: -2px; + } + @media (max-width: 600px){ + float: left; + display: block; + vertical-align: baseline; + border-left: none; + } + &:not(:first-child){ + @media (max-width: 600px){ + display: none; + } + } + &.icon{ + @media (max-width: 600px){ + float: right; + display: block; + } + } + } + .icon{ + display: none; + } +} + +.dropdown-new{ + overflow: hidden; + display: table-cell; + vertical-align: middle; + @media (max-width: 600px){ + display: block; + vertical-align: baseline; + } + .dropbtn{ + font-size: 16px; + width: 100%; + border: none; + outline: none; + color: white; + padding: 17px; + background-color: $can-link-blue; + font-family: inherit; + margin: 0; + border-left: 1px solid rgb(153,153,153); + text-shadow: 1px 1px 1px #222; + @media (max-width: 600px){ + width: auto; + border-left: none; + } + } + .dropbtn{ + @media (max-width: 600px){ + display: none; + } + &:hover, &:focus{ + background-color: $can-dark-blue; + color: white; + } + &:focus{ + outline: 5px auto black; + outline-offset: -2px; + } + } + &:hover{ + .dropdown-content{ + display: block; + } + } +} + +.dropdown-content{ + display: none; + position: absolute; + background-color: #f9f9f9; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 2; + a{ + float: none; + color: black; + padding: 4px 10px; + text-decoration: none; + display: block; + text-align: left; + font-size: 15px; + @media (max-width: 600px){ + padding: 8px 12px; + } + &:hover{ + background-color: $can-dark-blue; + color: white; + } + } +} + +.gcweb-menu{ + [role=menu]{ + background-color: $can-deepest-blue; + [role=menu]{ + background-color: #fff; + min-height: 488px; + } + } + [role=menuitem]{ + &:focus{ + background-color: #fff; + color: #333; + } + [role=menu]{ + li{ + [role=menuitem]{ + font-weight: 400; + } + } + } + } + button[aria-haspopup=true]{ + background-color: $can-deepest-blue; + border: 1px solid $can-deepest-blue; + &:hover, &[aria-expanded=true]{ + background-color: $can-deepest-blue; + color: #fff; + } + } + i{ + margin-right: 10px; + } +} + +#wb-sm{ + li.dropdown-item a{ + color: $can-accent-deep-blue; + text-align: left; + text-decoration: none; + } + .menu{ + text-shadow: none; + li.dropdown-item a:hover { + color: white; + } + > li{ + padding: 0; + > a{ + display: block; + padding: 1em; + text-align: center; + text-decoration: none; + } + } + } +} + +#usr-logged ul{ + text-align: right; + margin-top: 18px; +} + +#user_nav{ + @media (max-width: 995px){ + margin-top: -57px; + } +} + +.nav-item.active > a span, +.nav-aside li.active a span{ + white-space: inherit; +} + +li.nav-item.justify-content-between.position-relative:hover{ + background-color: #eee; +} + +.canada-pd-org-select-wrapper{ + > .module-content.canada-no-marg{ + margin-top: 0 !important; + } + .recombinant-org-select-container{ + display: flex !important; + width: 100% !important; + flex-wrap: nowrap !important; + flex-direction: row; + min-height: 38px; + max-height: 38px; + height: 38px; + } + .recombinant-org-select-label-wrapper{ + display: block; + flex: 0; + padding-left: 15px !important; + white-space: nowrap; + label{ + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + margin: 0 !important; + transition-duration: 0.325s !important; + color: $can-link-visited !important; + } + } + .recombinant-org-select-wrapper{ + display: flex; + flex: 1; + padding-left: 0 !important; + padding-right: 0 !important; + width: 100%; + opacity: 0; + pointer-events: none; + animation: fade-opacity-in 0.5s ease-in 1s 1 normal forwards; + .select2-container{ + height: 100% !important; + border-radius: 0 !important; + vertical-align: initial !important; + flex: 1; + width: auto !important; + .select2-choice, .select2-chosen{ + height: 100% !important; + border-radius: 0 !important; + } + .select2-choice{ + background: $can-dark-blue !important; + border-color: $can-dark-blue !important; + box-shadow: none !important; + } + .select2-chosen{ + vertical-align: middle; + display: inline-block; + width: 95%; + height: initial !important; + overflow: visible !important; + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + margin: 0 !important; + margin-top: 4px !important; + transition-duration: 0.325s !important; + color: white !important; + } + .select2-arrow{ + border-radius: 0 !important; + background: $can-dark-blue !important; + border-color: $can-dark-blue !important; + b{ + background-position-y: -100%; + color: white !important; + border-color: white !important; + background-image: url("/data/static/img/select2x2_white.png") !important; + } + } + } + .recombinant-org-select1-wrapper{ + width: 100% !important; + select{ + vertical-align: initial !important; + flex: 1; + width: auto !important; + height: 100% !important; + border-radius: 0 !important; + background: $can-dark-blue !important; + border-color: $can-dark-blue !important; + box-shadow: none !important; + color: white !important; + width: 100% !important; + } + } + } +} + +#wb-srch{ + form[name="cse-search-box"]{ + position: relative; + } + input#wb-srch-q{ + position: relative; + padding-right: 55px; + } + div.form-group.submit{ + top: 0; + right: 0; + bottom: 0; + margin: 0 !important; + } + button#wb-srch-sub{ + position: relative; + top: 0; + min-height: 100%; + max-height: 100%; + height: 100%; + } +} + +.canada-search-filters-title{ + margin-bottom: 10px; + h2{ + margin-top: 0 !important; + } + a{ + text-decoration: none !important; + } +} + +.canada-search-field-wrapper{ + width: 100% !important; + display: flex !important; + flex-direction: row; + flex-wrap: nowrap; + input#search_field{ + flex: 1; + } + span.input-group-btn{ + width: 40px; + max-width: 40px; + min-width: 40px; + } +} + +.canada-search-form-options-wrapper{ + width: 100% !important; + display: flex !important; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + select{ + display: inline-block !important; + } +} + +.canada-resource-search-wrapper{ + #dataset-resource-search{ + display: flex; + width: auto; + } + input#resource_query{ + min-width: 40%; + border-radius: 3px 0 0 3px; + display: inline-block; + } + span.input-group-btn{ + display: inline-block; + } +} + +span.resource-heading-text mark.highlight{ + padding: 0 !important; + margin: 0 !important; + border: none !important; + outline: none !important; +} + +.dataset-resource-pager li.active a{ + pointer-events: none !important; + cursor: not-allowed; +} + +.canada-org-result-text{ + font-size: 16px !important; +} + +.canada-dashboard-nav li a{ + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.canada-dashboard-panel{ + border-top-left-radius: 0 !important; +} + +.recombinant-action-panels-container .tabpanels > details{ + padding: 0 20px 20px 20px !important; +} + +.nav-item{ + > a{ + font-size: inherit; + } + &.active{ + > a{ + background-color: unset; + color: $can-dark-blue; + &::before{ + border: none; + } + &:hover{ + color: initial; + background-color: initial; + } + } + } +} + +.nav-aside{ + li{ + a{ + font-size: inherit; + } + &.active{ + a{ + background-color: unset; + color: $can-dark-blue; + &::before{ + border: none; + } + &:hover{ + color: initial; + background-color: initial; + } + } + } + } +} + +#resources_nav{ + font-size: initial; +} + +.canada-action-toolbar{ + margin-top: 0; + min-height: auto !important; + width: 100% !important; + header{ + margin-top: 15px; + margin-bottom: 0 !important; + width: 100% !important; + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + justify-content: space-between; + border-radius: 0 !important; + background: #E1E4E7 !important; + border-bottom: 1px solid #D3D4D8; + border-top: 1px solid #D3D4D8; + @media (max-width: 992px){ + flex-wrap: wrap; + } + .nav{ + a{ + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + margin: 0 !important; + transition-duration: 0.325s !important; + } + li{ + &:not(.active){ + a{ + &:hover, &:active, &:focus{ + background: #EEEFF1 !important; + } + } + } + &.active{ + a{ + background-color: $can-dark-blue !important; + color: white !important; + pointer-events: none !important; + } + } + } + } + .content_action{ + a{ + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + background: #f6f6f6 !important; + transition-duration: 0.325s !important; + &:not(:last-of-type){ + margin-right: 5px !important; + } + &:hover, &:active, &:focus{ + background: $can-dark-blue !important; + color: white !important; + } + &.btn-success{ + background-color: $btn-success-bkg !important; + &:hover, &:active, &:focus{ + background: $btn-success-bkg-hover !important; + } + } + } + } + &::after{ + content: none !important; + } + > *{ + position: relative !important; + display: block !important; + float: none !important; + margin: 0 !important; + } + } +} + +.module-resource .module-content{ + > .actions{ + float: none !important; + margin-top: 0 !important; + min-height: auto !important; + width: 100% !important; + display: block !important; + z-index: 2; + } + > .resource-view .actions{ + z-index: 1; + } +} + +.resource-actions-toolbar{ + float: none !important; + margin-top: 15px !important; + min-height: auto !important; + width: 100% !important; + display: block !important; + background: #E1E4E7 !important; + border-bottom: 1px solid #D3D4D8; + border-top: 1px solid #D3D4D8; + border-radius: 0 !important; + margin-bottom: 15px !important; + &.resource-actions-toolbar-portal{ + background: transparent !important; + border-top-color: transparent !important; + border-bottom-color: transparent !important; + } + > ul{ + width: 100% !important; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + padding: 0 !important; + margin: 0 !important; + @media (max-width: 992px){ + flex-wrap: wrap; + } + > li{ + margin: 0 !important; + } + a.btn-default{ + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + background: #E1E4E7 !important; + transition-duration: 0.325s !important; + min-height: auto !important; + box-shadow: none !important; + &:hover, &:active, &:focus{ + background: #EEEFF1 !important; + } + &:focus{ + outline: auto !important; + } + } + } + .resource-actions-toolbar-spacer{ + flex: 1; + ~ li{ + a{ + border-radius: 0 !important; + border: none !important; + } + button.dropdown-toggle{ + border-radius: 0 !important; + border: none !important; + } + &:not(:last-of-type){ + margin-right: 5px !important; + } + } + } +} +/*################################### +## END ## +## Menu, Toolbars, & Navigations ## +## END ## +#####################################*/ + +/*############################# +## Quick Links / Home Page ## +###############################*/ +#quick-links{ + .col-md-6 section{ + padding-left: 12px; + } + h2{ + margin-top: 11.5px; + } + section{ + margin-bottom: 11.5px; + } + .fa-question-circle-o{ + color: lightslategray; + } +} + +#ql-open-data{ + border-left: solid 3px $can-open-data-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-open-data-link; + margin-right: 10px; + } +} + +#mn-open-data{ + border-left: solid 6px $can-open-data-link; +} + +#open-data i{ + color: $can-open-data-link; +} + +#ql-sug-datasets{ + border-left: solid 3px $can-sug-data-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-sug-data-lite-link; + margin-right: 10px; + } +} + +#mn-sug-datasets{ + border-left: solid 6px $can-sug-data-link; +} + +#ql-open-dialogue{ + border-left: solid 3px $can-open-dial-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-open-dial-link; + margin-right: 10px; + } +} + +#mn-open-dialogue{ + border-left: solid 6px $can-open-dial-link; +} + +#open-dialogue i{ + color: $can-open-dial-link; +} + +ul#brf-pkg{ + padding-left: 0; +} + +#brf-pkg li{ + list-style: none; +} + +#ql-open-info{ + border-left: solid 3px $can-open-info-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-open-info-link; + margin-right: 10px; + } +} + +#mn-open-info{ + border-left: solid 6px $can-open-info-link; +} + +#ql-search{ + border-left: solid 3px $can-search-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-search-link; + margin-right: 10px; + } +} + +#mn-search{ + border-left: solid 6px $can-search-link; +} + +#ql-pd{ + border-left: solid 3px $can-pd-link; + border-top: solid 1px $can-table-grey; + i{ + color: $can-pd-link; + margin-right: 10px; + } +} + +#mn-pd{ + border-left: solid 6px $can-pd-link; +} + +#pd i{ + color: $can-pd-link; +} + +.label{ + &.lb-open-data{ + float:right; + border-color: $can-open-data-link; + background: #fff + } + &.lb-sug-datasets{ + float:right; + border-color: $can-sug-data-link; + background: #fff; + } + &.lb-open-dialogue{ + float:right; + border-color: $can-open-dial-link; + background: #fff; + } + &.lb-open-info{ + float:right; + border-color: $can-open-info-link; + background: #fff; + } + &.lb-pd{ + float:right; + border-color: $can-pd-label; + background: #fff; + } +} + +.lb-page-display{ + font-size: 22px !important; + font-weight: 700 !important; + font-family: Lato, sans-serif !important; +} +/*############################# +## END ## +## Quick Links / Home Page ## +## END ## +###############################*/ + +/*############################## +## Modals, Popups, & Alerts ## +################################*/ +#confirm-contact-email{ + z-index: 5 !important; + .modal-dialog{ + position: absolute; + top: 20%; + left: 50%; + transform: translate(-50%, 0); + max-width: 80%; + @media all and (max-width: 768px){ + min-width: 80%; + max-width: 80%; + width: 80%; + } + } +} + +.popover{ + width: 300px; + .popover-title{ + font-weight: bold; + margin-bottom: 0; + } + p.about{ + margin: 0 0 10px 0; + } + .popover-close{ + float: right; + text-decoration: none + } + .popover-content{ + font-size: 14px; + line-height: 20px; + color: #444444; + word-break: break-all; + dl{ + margin: 0; + dd{ + margin-left: 0; + margin-bottom: 10px + } + } + } +} + +.modal{ + text-align: center; + padding: 0 !important; + &:before{ + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; + margin-right: -4px; + } + .modal-dialog{ + .modal-content{ + .modal-header{ + background-color: #2e5274; + > h1, > h2, > h3, > h4, > h5, > h6{ + color: white; + margin: 0; + } + } + .modal-title{ + color: white; + } + button.close span{ + color: white; + } + } + } + &.canada-resource-view-embed{ + .modal-dialog{ + position: absolute; + top: 20%; + left: 50%; + transform: translate(-50%, 0); + max-width: 80%; + @media all and (max-width: 768px){ + min-width: 80%; + max-width: 80%; + width: 80%; + } + } + } +} + +.modal-dialog{ + display: inline-block; + text-align: left; + vertical-align: middle; +} + +.alert{ + &.alert-guidance{ + border-color: #335075; + &::before{ + content: '\f14e'; + color: #a62a1e; + font-family: 'FontAwesome'; + line-height: 1; + top: 25%; + background-color: white; + border-radius: 100%; + font-weight: 700; + font-size: 28px; + padding: 4px; + transform: translateX(-1px) rotate(-45deg); + } + } +} + +.alert-error, .label-error, details.alert-error{ + background: #f3e9e8; + border-color: #d3080c; + color: #000; +} + +.label-error[href]{ + &:active, &:focus, &:hover{ + background: #f3e9e8; + border-color: #d3080c; + color: #000; + } +} + +.alert-error > :first-child:before{ + color: #d3080c; + content: "\e101"; +} + +.dataset-alert{ + clear: both; + margin-top: 23px; +} + +.canada-flash-messages{ + z-index: 2; + .alert{ + padding-right: 28px; + position: relative; + &.fade.show{ + animation: flash-fade-in-alert 1.325s ease-in 0.325s forwards !important; + } + } + .flash-messages{ + button.close{ + display: block; + position: absolute; + top: 5px; + right: 5px; + padding-bottom: 0; + visibility: hidden; + opacity: 0; + animation: flash-fade-in-close-button 2s ease-in 1s forwards !important; + padding: 0 !important; + &::after{ + content: '\f00d'; + font-family: 'FontAwesome'; + font-size: 18px; + vertical-align: text-top; + } + &:hover, &:active, &:focus{ + color: $can-dark-blue; + } + } + .alert:not(.alert-dismissible) button.close{ + display: none !important; + pointer-events: none !important; + } + } + a{ + &.btn-default{ + color: $can-dark-blue !important; + } + &.btn-primary, &.btn-danger{ + color: white !important; + } + &.btn-warning{ + color: black !important; + } + } +} +/*############################## +## END ## +## Modals, Popups, & Alerts ## +## END ## +################################*/ + +/*########################## +## Resource Items & Lists ## +############################*/ +.canada-package-panel-heading{ + display: flex; + flex-wrap: nowrap; + gap: 16px; + justify-content: space-between; + h3{ + align-self: center; + } + > .canada-package-panel-heading--labels{ + display: flex; + flex-direction: column; + gap: 16px; + align-items: flex-end; + } + span.badge{ + margin: 0 !important; + } +} + +.canada-edit-resource-panel{ + margin: -15px -15px 8px -15px !important; +} + +.canada-edit-resource-info div.nums{ + margin: 0 !important; + padding: 0 !important; +} + +ul.resource-list{ + > li.resource-item{ + display: flex; + flex-wrap: wrap; + width: 100%; + @media (max-width: 768px){ + flex-direction: column; + } + &:not(:last-of-type){ + border-radius: 0; + border-bottom: 1px solid rgba(0, 0, 0, 0.15); + } + > div#resource_title{ + display: inline-block; + flex: 1; + padding-right: 10px; + align-self: center; + @media (max-width: 768px){ + align-self: initial; + } + > a.resource-heading{ + display: inline !important; + } + } + > a.validation-badge{ + display: none !important; + } + > div.canada-resource-list-badges{ + align-self: last baseline; + @media (max-width: 768px){ + align-self: initial; + } + a{ + &.loader-badge{ + margin-right: 10px; + } + &.validation-badge{ + margin-left: 0; + margin-right: 10px; + } + } + } + .canada-resource-list-validation-info{ + width: calc(100% + 70px); + margin-left: -60px; + margin-right: -10px; + margin-bottom: -10px; + margin-top: 10px; + background-color: #e05d44; + color: white; + padding: 4px 12px; + font-size: 16px; + font-weight: 500; + > p{ + margin: 0; + display: flex; + flex-wrap: nowrap; + flex-direction: row; + width: 100%; + align-items: center; + } + a.btn{ + margin-left: auto; + } + } + &:hover{ + .canada-resource-list-validation-info{ + background-color: #dc4a2e; + } + } + } +} + +.resource-item{ + .resource-action-links{ + display: block !important; + position: relative !important; + right: initial !important; + top: initial !important; + align-self: center; + @media (max-width: 768px){ + margin-top: 10px !important; + margin-bottom: 10px !important; + align-self: initial; + } + > a.btn{ + margin: 0 !important; + } + } +} + +.resources-side-panel{ + .nav-item{ + padding-left: 0 !important; + padding-right: 0 !important; + button.dropdown-toggle::after{ + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; + } + > a{ + padding-left: 15px; + padding-right: 35px; + margin-left: 0 !important; + margin-right: 0 !important; + position: relative; + width: 100%; + } + ul.dropdown-menu{ + position: absolute; + inset: 0px auto auto 0px; + margin: 0px; + transform: translateY(38px); + z-index: 100 !important; + @media (max-width: 992px){ + transform: translateY(30px) translateX(calc(-100% + 50px)); + } + } + .dropdown.position-absolute{ + position: absolute !important; + right: 0 !important; + top: 0 !important; + bottom: 0 !important; + margin-right: 0 !important; + > .btn-light{ + background-color: #eeeeee !important; + border-color: #dcdee1 !important; + color: $can-dark-blue !important; + border-radius: 0 !important; + box-shadow: none !important; + border: none !important; + height: 100%; + width: 46px !important; + &:hover, &:active, &:focus{ + background-color: #cfd1d5 !important; + border-color: #bbbfc5 !important; + } + &:focus{ + outline: auto !important; + } + } + &.open{ + z-index: 100 !important; + } + } + &.active{ + background-color: #eeeeee !important; + a{ + cursor: default !important; + color: #295376 !important; + } + &::before{ + content: none; + } + } + } +} + +.resources-side-section{ + + div.module-content{ + a.btn-light{ + background-color: #eaebed !important; + border-color: #dcdee1 !important; + color: $can-dark-blue !important; + line-height: 2 !important; + &:visited{ + color: $can-dark-blue !important + } + &:hover, &:focus, &:active{ + background-color: #cfd1d5 !important; + border-color: #bbbfc5 !important; + } + } + } + .panel-body{ + &.resources-side-panel{ + padding: 0 !important; + } + > ul{ + min-height: 80px; + > li{ + position: relative !important; + min-height: 80px; + padding: 0 !important; + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: end; + background: transparent !important; + &.show{ + display: flex !important; + } + &:last-of-type{ + border-bottom-left-radius: 3px !important; + border-bottom-right-radius: 3px !important; + a{ + border-bottom-left-radius: 3px !important; + border-bottom-right-radius: 3px !important; + } + .dropdown.position-absolute > .btn-light{ + border-bottom-right-radius: 3px !important; + } + } + &:not(:first-of-type){ + border-top: 1px dotted #6f6f6f !important; + } + } + } + } + .resources-side-section-item-link{ + position: absolute !important; + display: block !important; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: calc(100% - 46px) !important; + height: 100%; + transition-duration: 0.325s !important; + text-decoration: none !important; + color: $can-accent-deep-blue !important; + &:hover, &:active, &:focus{ + text-decoration: none !important; + color: $can-accent-deep-blue !important; + } + } + .resources-side-section-item-title-container{ + position: relative; + overflow: clip; + } + .resources-side-section-item-badges{ + margin-left: 15px; + margin-bottom: 15px; + margin-top: 52px; + margin-right: 50px; + z-index: 2; + pointer-events: none; + @media (max-width: 992px){ + margin-top: 60px; + } + @media (max-width: 768px){ + margin-top: 52px; + } + .badge{ + margin-bottom: 3px; + } + } + .nav-item.active{ + div.dropdown{ + display: none !important; + } + > a{ + padding-right: 15px !important; + width: 100% !important; + } + } + &.resources-side-panel-no-edit .nav-item > a{ + padding-right: 15px !important; + width: 100% !important; + } +} + +.resources-side-section--no-resources{ + > div.module-content{ + a.btn-light{ + background-color: #eaebed !important; + border-color: #dcdee1 !important; + color: $can-dark-blue !important; + line-height: 2 !important; + &:visited{ + color: $can-dark-blue !important + } + &:hover, &:focus, &:active{ + background-color: #cfd1d5 !important; + border-color: #bbbfc5 !important; + } + } + } +} + +.canada-reorder-resources-wrapper .resource-list{ + margin: 0 0 10px 0 !important; +} + +.module-resource .actions { + top: unset; + right: unset; + @media (max-width: 992px){ + float: none !important; + } + > ul{ + @media (max-width: 992px){ + padding-left: 0 !important; + margin-bottom: calc(11.5px - 5px) !important; + } + > li{ + @media (max-width: 992px){ + margin-bottom: 5px !important; + } + &:nth-last-of-type(2){ + margin-right: 5px !important; + } + } + } +} + +body ul.nav li.view-item{ + a{ + display: flex; + flex-direction: row; + flex-wrap: nowrap; + width: 100%; + align-items: center; + i.icon{ + position: relative !important; + &::before{ + position: absolute !important; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 24px !important; + } + } + } +} + +.canada-view-disabled-label{ + padding-top: 4px !important; + padding-bottom: 4px !important; + margin-left: 8px !important; +} +/*########################## +## END ## +## Resource Items & Lists ## +## END ## +############################*/ + +/*################### +## HTML Webforms ## +#####################*/ +.form-control{ + &.select2-container{ + display: contents; + } + &.select2-offscreen{ + left: auto !important; + top: auto !important; + &:focus{ + left: auto !important; + top: auto !important; + } + } +} + +.checkbox input[type=checkbox], +.checkbox-inline input[type=checkbox], +.radio input[type=radio], +.radio-inline input[type=radio] { + position: relative; + margin-left: 0; +} + +.scheming-subfield-group-panel-heading{ + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; +} + +div.resource-upload-field label#resource-menu-label::before, +div.resource-upload-field label[for="field-resource-upload"]::before, +div.resource-upload-field label[for="field-resource-url"]::before, +div.resource-upload-field .upload-type > label.control-label::before{ + content: "*"; + color: #c6898b; + margin-right: 2.5px; +} + +.form-group .info-block{ + padding: 0; + font-size: small; + color: $can-lite-blue; +} + +label.control-label:has(span.control-required):after{ + content: "(required)"; + display: inline; + color: $can-required-text; + vertical-align: baseline; + margin-left: 4px; + background-image: none; +} + +label.control-label:has(span.control-required):lang(fr):after{ + content: "(requis)"; +} + +label:lang(fr):after{ + content: " :"; +} + +.control-required{ + color: $can-required-text; +} + +/*#################### +## Package Stages ## +######################*/ +.stages{ + li{ + &.active{ + &:after{ + border-top-color: #EDEDED; /* #c5e2c4 */ + border-bottom-color: #EDEDED; /* #c5e2c4 */ + border-right-color: $can-accent-deep-blue; + z-index: -1; + } + .highlight { + background: $can-accent-deep-blue; + } + } + &.complete{ + .highlight{ + color: #aeaeae; + background: #EDEDED; + } + &:before{ + color: #aeaeae; + background: white; + }:after{ + border-top-color: #EDEDED; + border-bottom-color: #EDEDED; + } + } + } +} + +#dropdown-manage-dataset{ + font-weight: bold !important; + font-size: 16px !important; + line-height: 1.4375 !important; + border-radius: 0 !important; + border: none !important; + background-color: #f6f6f6 !important; + transition-duration: 0.325s !important; + &:hover, &:active, &:focus{ + background-color: #335075 !important; + color: white !important; + } + &.show{ + display: inline-block !important; + } +} + +ul.dropdown-menu{ + #dropdown-manage-dataset-menu{ + a{ + display: block !important; + padding: 3px 20px !important; + clear: both !important; + font-weight: 400 !important; + line-height: 1.4375 !important; + color: #333 !important; + white-space: nowrap !important; + text-decoration: none !important; + margin: 0 !important; + transition-duration: 0.325s !important; + background-color: white !important; + &:hover, &:active, &:focus{ + color: #333 !important; + text-decoration: none !important; + background-color: #f5f5f5 !important; + } + } + } +} + +form#dataset-edit{ + position: relative; + width: 100%; +} + +.canada-package-edit-toolbar{ + margin: 0 !important; + padding: 0 !important; +} + +#canada-package-form-stages{ + background-color: #EDEDED; + margin-bottom: 30px; + margin-top: 0; + &[data-form-style="new"]{ + margin-top: -30px; + } + .module-heading{ + padding-left: 15px !important; + } + a.canada-package-form-stages--label{ + padding: 17px 35px 17px 25px; + display: block; + width: 100%; + text-decoration: none !important; + color: #333 !important; + &:hover, &:active, &:focus{ + background: #d9d9d9; + color: #333 !important; + transition-duration: 0.325s; + } + } + ul.nav{ + li.nav-item{ + display: flex !important; + flex-direction: row; + flex-wrap: nowrap; + position: relative; + padding: 0 !important; + abbr{ + height: auto; + display: block; + position: absolute; + right: 12px; + top: 50%; + transform: translate(0, -50%); + pointer-events: hover; + cursor: help; + } + &.active{ + .canada-package-form-stages--label{ + background: #38414d; + color: #fefefe !important; + font-weight: 600; + } + abbr i{ + background: white; + border: 1px solid white; + border-radius: 50%; + } + } + } + button{ + padding: 0 !important; + } + } +} +/*#################### +## END ## +## Package Stages ## +## END ## +######################*/ + +.canada-select2-field-wrapper{ + div.select2-container{ + padding: 0 !important; + border: none !important; + position: relative; + &::after{ + content: '\f142'; + font-family: 'FontAwesome'; + font-weight: 900; + position: absolute; + right: 6px; + top: 50%; + transform: translateY(-50%); + font-size: 12px; + color: #333333 !important; + pointer-events: none !important; + } + ul.select2-choices{ + padding-right: 15px !important; + } + } +} + +form.canada-xloader-delete-form{ + position: relative; + display: inline-block; + margin-bottom: 10px !important; + min-height: 40px; + float: left; +} + +form.datapusher-form{ + position: relative; + display: inline-block; + margin-bottom: 10px !important; + min-height: 40px; + float: left; +} + +div.canada-datastore-button-fix{ + height: 55px; + @media (max-width: 768px){ + height: 65px; + } +} + +input#field-resource-url{ + padding-right: 100px !important; +} + +body{ + .user-recaptcha-wrapper{ + width: 304px; + height: 352px; + position: relative; + } + .user-recaptcha-frame-wrapper{ + width: 304px; + height: 352px; + position: absolute; + } + .user-recaptcha-frame{ + width: 304px; + height: 352px + } + .user-recaptcha-text-wrapper{ + width: 250px; + height: 80px; + position: absolute; + bottom: 21px; + left: 25px; + margin: 0; + padding: 0; + right: 25px; + } + .user-recaptcha-text{ + width: 250px; + height: 80px; + border: 1px solid #c1c1c1; + margin: 0; + padding: 0; + resize: none; + } +} + +.field--name-field-vote{ + display: none; +} + +.form-actions{ + text-align: inherit; + .action-info{ + float: inherit; + width: auto; + margin-right: inherit; + line-height: 2; + text-align: inherit; + color: inherit; + margin: revert; + &.small{ + font-size: inherit; + line-height: inherit; + } + } +} + +form{ + .form-actions .btn{ + margin-right: 6px !important; + } + &#user-edit-form > fieldset:first-of-type{ + border-top: none !important; + } +} + +.admin-publish-date-fieldset{ + border: none !important; +} + +.admin-publish-date-label::after{ + content: none !important; +} + +.resource-upload-field{ + .btn-remove-url{ + position: absolute !important; + top: auto !important; + right: 0 !important; + padding: 5px !important; + border-radius: 0 !important; + margin-top: 31px !important; + } + .upload-type input.form-control{ + display: inline-block !important; + width: 100% !important; + } +} +/*################### +## END ## +## HTML Webforms ## +## END ## +#####################*/ + +/*################# +## HTML Tables ## +###################*/ +table { + table-layout: initial; +} + +.table{ + > tbody, > tfoot, > thead{ + > tr{ + > td, > th{ + border: 1px solid $can-table-grey; + } + } + } + > caption+thead, > colgroup+thead, > thead:first-child{ + > tr:first-child{ + > td, > th{ + border: 1px solid $can-table-grey; + } + } + } +} + +.td-center{ + text-align: center; +} + +.td-full{ + width: 100%; +} + +table#dtprv{ + thead{ + .sorting, .sorting_asc, .sorting_desc{ + background-image: none; + } + } +} + +.table-striped tbody tr:nth-child(even){ + td, th{ + background-color: #fff; + } +} +/*################# +## END ## +## HTML Tables ## +## END ## +###################*/ + +/*################### +## Activity Stream ## +#####################*/ +.activity{ + margin: 10px 0; + padding: 0; + list-style-type: none; + background-image: url('/data/static/img/dotted.png'); + background-repeat: repeat-y; + background-position: 17px 0; + table{ + max-width: 100% !important; + overflow-x: scroll !important; + display: block !important; + } + .item{ + position: relative; + margin: 0 0 15px 0; + padding: 0 0 15px 56px !important; + font-size: 14px; + line-height: 1.5; + &::after, &::before{ + display: table; + content: ""; + line-height: 0; + clear: both; + } + &:not(:last-of-type)::after{ + content: ""; + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%); + height: 2px; + width: 90%; + border-radius: 25px; + background: #f6f6f6; + } + .fa-stack{ + padding: 0; + margin: 0; + width: 36px; + height: 36px; + position: absolute; + left: 0; + top: 0; + i{ + width: 100%; + height: 100%; + position: absolute !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%) !important; + margin: 0 !important; + line-height: 1 !important; + text-align: initial !important; + &::before{ + position: absolute !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%) !important; + font-size: 14px; + } + &.icon{ + border: 4px solid white; + display: block; + position: absolute; + top: 0; + left: 0; + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + font-weight: normal; + margin-right: 10px; + -webkit-border-radius: 100px; + -moz-border-radius: 100px; + border-radius: 100px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + padding-left: 0px; + &::before{ + width: 40px; + height: 40px; + font-size: 40px; + } + } + } + } + .gravatar{ + display: none !important; + } + .actor { + display: none !important; + } + .date{ + color: #999; + font-size: 12px; + white-space: nowrap + } + p{ + font-size: 14px; + line-height: 1.5; + margin: 0 0 10px 0; + } + table{ + font-size: 14px; + line-height: 1.5; + margin-bottom: 5px; + p{ + margin: 0; + margin-top: 10px; + } + } + h2{ + margin-top: 0 !important; + } + > div{ + margin: 0 !important; + } + .new { + display: block; + position: absolute; + overflow: hidden; + top: -3px; + left: -3px; + width: 10px; + height: 10px; + background-color: #A35647; + border: 1px solid #FFF; + text-indent: -1000px; + -webkit-border-radius: 100px; + -moz-border-radius: 100px; + border-radius: 100px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) + } + &.no-avatar p{ + margin-left: 0; + } + .icon{ + background-color: #999999 + } + &.failure .icon{ + background-color: #b95252 + } + &.success .icon{ + background-color: #69a67a + } + &.added-tag .icon{ + background-color: #6995a6 + } + &.changed-group .icon{ + background-color: #767dce + } + &.changed-package .icon{ + background-color: #8c76ce + } + &.changed-package_extra .icon{ + background-color: #769ace + } + &.changed-resource .icon{ + background-color: #aa76ce + } + &.changed-user .icon{ + background-color: #76b8ce + } + &.changed-organization .icon{ + background-color: #699fa6 + } + &.changed-resource-view .icon{ + background-color: #9c89d5 + } + &.deleted-group .icon{ + background-color: #b95252 + } + &.deleted-package .icon{ + background-color: #b97452 + } + &.deleted-package_extra .icon{ + background-color: #b95274 + } + &.deleted-resource .icon{ + background-color: #b99752 + } + &.deleted-organization .icon{ + background-color: #b95297 + } + &.deleted-resource-view .icon{ + background-color: #c06483 + } + &.new-group .icon{ + background-color: #69a67a + } + &.new-package .icon{ + background-color: #69a68e + } + &.new-package_extra .icon{ + background-color: #6ca669 + } + &.new-resource .icon{ + background-color: #81a669 + } + &.new-user .icon{ + background-color: #69a6a3 + } + &.new-organization .icon{ + background-color: #81a669 + } + &.new-resource-view .icon{ + background-color: #7caf79 + } + &.removed-tag .icon{ + background-color: #b95297 + } + &.deleted-related-item .icon{ + background-color: #b9b952 + } + &.follow-dataset .icon{ + background-color: #767dce + } + &.follow-user .icon{ + background-color: #8c76ce + } + &.new-related-item .icon{ + background-color: #95a669 + } + &.follow-group .icon{ + background-color: #8ba669 + } + &.created-datastore .icon{ + color: #749a5b; + background-color: #749a5b; + } + &.changed-datastore .icon{ + color: #5b939a; + background-color: #5b939a; + } + &.deleted-datastore .icon{ + color: #ac468a; + background-color: #ac468a; + } + } + .load-less{ + margin-bottom: 15px; + } +} +/*################### +## END ## +## Activity Stream ## +## END ## +#####################*/ + +/*################## +## Job Queue List ## +####################*/ +body ul.canada-job-list{ /* &.activity */ + li.item{ + i.fa{ + &::before{ + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-weight: 700 !important; + } + &.icon{ + color: #999999; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + width: 30px !important; + height: 30px !important; + } + &.main-icon{ + border-radius: 50% !important; + width: 32px !important; + height: 32px !important; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + background-color: white !important; + &::before{ + font-size: 14px !important; + width: 24px; + height: 24px; + line-height: 24px !important; + color: white !important; + stroke: white !important; + border-radius: 50%; + text-align: center; + } + &::after{ + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 24px; + height: 24px; + border-radius: 50%; + line-height: 1 !important; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + } + } + } + &.rq-job-queued{ + i.fa{ + &.main-icon::before{ + color: white !important; + background-color: #999999; + } + &.icon{ + color: #999999; + } + } + } + &.rq-job-deferred{ + i.fa{ + &.main-icon::before{ + color: white !important; + background-color: #ffc107; + } + &.icon{ + color: #ffc107; + } + } + } + &.rq-job-started{ + i.fa{ + &.main-icon::before{ + color: white !important; + background-color: #28a745; + } + &.icon{ + color: #28a745; + } + } + } + &.rq-job-finished{ + i.fa{ + &.main-icon::before{ + color: white !important; + background-color: #17a2b8; + } + &.icon{ + color: #17a2b8; + } + } + } + &.rq-job-failed{ + i.fa{ + &.main-icon::before{ + color: white !important; + background-color: #dc3545; + } + &.icon{ + color: #dc3545; + } + } + } + } + .canada-job-item-title{ + font-size: 115%; + font-weight: 600; + } +} + +div.canada-job-list-title{ + strong{ + font-size: 16px; + line-height: 23px; + } + small{ + font-size: 87%; + } +} +/*################## +## END ## +## Job Queue List ## +## END ## +####################*/ + +/*############################ +## CKAN Base CSS Overrides ## +##############################*/ +body ul.xloader-log{ + li.item{ + position: relative; + > i{ + background-color: white !important; + position: absolute; + left: 0; + top: 0; + border-radius: 50%; + outline: 4px solid #999999; + height: 34px !important; + width: 34px !important; + padding: 0; + margin: 0; + line-height: 1 !important; + text-align: initial !important; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + &::before{ + width: 16px; + height: 16px; + font-size: 16px; + line-height: 1; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + background-color: transparent !important; + color: white !important; + z-index: 2; + } + &::after{ + content: ''; + background-color: #999999 !important; + border-radius: 50%; + width: 26px; + height: 26px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2); + z-index: 1; + } + } + &.success{ + > i{ + outline-color: #69A67A !important; + &::after{ + background-color: #69A67A !important; + } + } + } + &.failure{ + > i{ + outline-color: #B95252 !important; + &::after{ + background-color: #B95252 !important; + } + } + } + } +} + +#s2id_field-department, +#s2id_field-organizations{ + min-height: 37px !important; + &.select2-container{ + vertical-align: initial !important; + width: 100% !important; + height: 100% !important; + .select2-choice, .select2-chosen{ + height: 100% !important; + } + .select2-choice{ + font-size: 16px !important; + line-height: 1.4375 !important; + padding: 6px 12px !important; + } + .select2-arrow b{ + background-position-y: -100%; + } + } +} + +.s2id_field-organizations_wrapper{ + margin-bottom: 0 !important; + .error-block{ + margin-top: -8px; + padding-top: 8px !important; + } +} + +body{ + .text-info{ + color: #31708f !important; + } + .bg-info{ + background-color: #d9edf7 !important; + } + .text-warning{ + color: #8a6d3b !important; + } + .bg-warning{ + background-color: #fcf8e3 !important; + } + .text-danger{ + color: #a94442 !important; + } + .bg-danger{ + background-color: #f2dede !important; + } + .error-block, + .error-inline{ + font-size: 12px !important; + line-height: 23px !important; + } + .btn.btn-light{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + color: $can-dark-blue !important; + background-color: #eaebed !important; + border-color: #dcdee1 !important; + &:hover, &:active, &:focus{ + background-color: #cfd1d5; + border-color: #bbbfc5; + } + } + a[class="btn"], /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + button[class="btn"]{ + color: $can-dark-blue; + background-color: #eaebed; + border-color: #dcdee1; + &:hover, &:active, &:focus{ + background-color: #cfd1d5; + border-color: #bbbfc5; + } + } + .module-heading{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + padding: 10px 25px !important; + font-size: 14px !important; + line-height: 1.3 !important; + } + .module-narrow .module-heading{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + padding-left: 15px !important; + padding-right: 15px !important; + } + .accordion-button{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + font-size: 16px !important; + line-height: 1.3 !important; + } + .accordion-header{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + margin: 0 !important; + } + .accordion{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + margin-bottom: 15px !important; + } + .resource-upload-field i.fa{ + margin-right: 4px !important; + } + form#form-purge-all a.purge-all{ + margin-bottom: 15px !important; + } + .canada-admin-trash #accordion-group{ + display: none !important; + } + .float-right{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + float: right; + } + .float-left{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + float: left; + } + .modal.fade, /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + .popover.fade{ + animation: modal-fade-out 0.325s ease-in 0s forwards !important; + } + .modal.fade.show, /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + .popover.fade.show{ + animation: modal-fade-in 0.325s ease-in 0s forwards !important; + } + .popover .popover-header{ + margin: 0 !important; + font-size: 16px !important; + padding: 8px 14px !important; + } + .btn.btn-secondary{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + color: white !important; + } + body div#wb-bnr > div.row{ + @media (max-width: 768px){ + flex-direction: row-reverse; + } + } + .form-select{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + appearance: auto !important; + -webkit-appearance: auto !important; + -moz-appearance: auto !important; + } + #timeout, + .modal{ + background: rgba(0, 0, 0, 0.15) !important; + } + #timeout > .modal-dialog{ + position: absolute !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -25%) !important; + @media (max-width: 768px){ + top: 35% !important; + max-width: 80% !important; + min-width: 80% !important; + width: 80% !important; + } + } + .modal .modal-dialog .modal-content button.btn-close{ + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-image: url("/data/static/img/data_img/modal-close.svg"); + } + .panel-title > .label.label-info, + h1 > .label.label-info{ + display: inline-block; + vertical-align: bottom; + } + .clear-fix{ /* BS4+ Fix. TODO: remove after upgrade to BS4+ */ + clear: both !important; + } + .accordion-heading{ + margin: 0 !important; + } + .accordion-button{ + padding-right: 25px !important; + &.no-after{ + background-color: #f5f5f5 !important; + color: #333333 !important; + &::after{ + background-image: none !important; + } + } + } + form[action*="/dictionary/"] h3:first-of-type{ + margin-top: 0 !important; + } + div.btn-group:not(.dropdown){ + display: flex; + flex-direction: row; + flex-wrap: nowrap; + } + .canada-resource-dropdown-explore a{ + text-decoration: none !important; + } +} + +footer#wb-info{ + margin-top: 36px !important; + z-index: 1 !important; +} +/*########################### +## END ## +## CKAN Base CSS Overrides## +## END ## +#############################*/ + +/*##################### +## Utility Classes ## +#######################*/ +body{ + .canada-w10-spacer{ + display: inline-block !important; + margin: 0 !important; + padding: 0 !important; + min-width: 10px !important; + max-width: 10px !important; + width: 10px !important; + min-height: 0 !important; + max-height: 0 !important; + height: 0 !important; + line-height: 0 !important; + } + .canada-v10-spacer{ + display: block !important; + margin: 0 !important; + padding: 0 !important; + min-height: 10px !important; + max-height: 10px !important; + height: 10px !important; + min-width: 0 !important; + max-width: 0 !important; + width: 0 !important; + line-height: 0 !important; + } + .show{ + display: block; + } + .border-0{ + border: 0 !important; + } + .wrapall { + word-wrap: break-word; + word-break: break-all; + white-space: normal; + } + .clear-both { + clear: both; + } + .float-none { + float: none; + } + .canada-display-none{ + display: none; + } + .canada-border-none{ + border: none; + } + .canada-width-auto{ + width: auto; + } + .canada-width-full{ + width: 100%; + } + .canada-break-words{ + word-wrap: break-word; + } + .canada-list-disc{ + list-style-type: disc; + } + .canada-padding-top-25{ + padding-top: 25px; + } + .canada-margin-top-0{ + margin-top: 0; + } + .canada-margin-bottom-0{ + margin-bottom: 0; + } + .canada-margin-bottom-10{ + margin-bottom: 10px; + } + .canada-margin-bottom-15{ + margin-bottom: 15px; + } + .canada-margin-left-10{ + margin-left: 10px; + } + .d-none-soft{ + display: none; + } + .canada-flex{ + display: flex; + flex-direction: row; + flex-wrap: nowrap; + width: 100%; + @media (max-width: 768px){ + flex-wrap: wrap; + } + } + .canada-cursor-help{ + cursor: help !important; + text-decoration: underline dotted !important; + } +} +/*##################### +## END ## +## Utility Classes ## +## END ## +#######################*/ + +/*############################################### +## Core data:image Overrides for CSP Support ## +#################################################*/ +body, +body .module-grid, +body .media-grid, +body .main, +body .account-masthead, +body .masthead, +body .site-footer{ + background-image: none !important; /* background-image: url("/data/base/images/bg.png"); */ +} + +body{ + .form-select{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-down.svg"); */ + &.is-valid:not([multiple]){ + &:not([size]), &[size="1"]{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-downg"), url("/data/static/img/data_img/check-green.svg"); */ + } + } + &.is-invalid:not([multiple]){ + &:not([size]), &[size="1"]{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-down.svg"), url("/data/static/img/data_img/danger.svg"); */ + } + } + } + .form-check-input{ + &:checked[type=checkbox]{ + background-image: none; /* background-image: url("/data/static/img/data_img/check.svg"); */ + } + &:checked[type=radio]{ + background-image: none; /* background-image: url("/data/static/img/data_img/dot.svg"); */ + } + &[type=checkbox]:indeterminate{ + background-image: none; /* background-image: url("/data/static/img/data_img/dash.svg"); */ + } + } + .form-switch .form-check-input{ + background-image: none; /* background-image: url("/data/static/img/data_img/dot-grey.svg"); */ + &:focus{ + background-image: none; /* background-image: url("/data/static/img/data_img/dot-blue.svg"); */ + } + &:checked{ + background-image: none; /* background-image: url("/data/static/img/data_img/dot-white.svg"); */ + } + } + .was-validated{ + .form-control{ + &:valid{ + background-image: none; /* background-image: url("/data/static/img/data_img/check-green.svg"); */ + } + &:invalid{ + background-image: none; /* background-image: url("/data/static/img/data_img/danger.svg"); */ + } + } + .form-select{ + &:valid:not([multiple]){ + &:not([size]), &[size="1"]{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-downg"), url("/data/static/img/data_img/check-green.svg"); */ + } + } + &:invalid:not([multiple]){ + &:not([size]), &[size="1"]{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-down.svg"), url("/data/static/img/data_img/danger.svg"); */ + } + } + } + } + .form-control{ + &.is-valid{ + background-image: none; /* background-image: url("/data/static/img/data_img/check-green.svg"); */ + } + &.is-invalid{ + background-image: none; /* background-image: url("/data/static/img/data_img/danger.svg"); */ + } + } + .navbar-light .navbar-toggler-icon{ + background-image: none; /* background-image: url("/data/static/img/data_img/burger.svg"); */ + } + .navbar-dark .navbar-toggler-icon{ + background-image: none; /* background-image: url("/data/static/img/data_img/burger-lite.svg"); */ + } + .accordion-button{ + &:not(.collapsed)::after{ + background-image: url("/data/static/img/data_img/chevron-down-blue.svg"); + } + &::after{ + background-image: url("/data/static/img/data_img/chevron-down-grey.svg"); + } + } + .btn-close{ + background-image: none; /* background-image: url("/data/static/img/data_img/close-black.svg"); */ + } + .carousel-control-prev-icon{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-left.svg"); */ + } + .carousel-control-next-icon{ + background-image: none; /* background-image: url("/data/static/img/data_img/chevron-right.svg"); */ + } +} +/*############################################### +## END ## +## Core data:image Overrides for CSP Support ## +## END ## +#################################################*/ + +/*############################ +## Custom Resource Sprites ## +##############################*/ +body .format-label{ + background-image: url("/data/base/images/sprite-resource-icons.png"); +} + +ul.resource-list{ + > li.resource-item { + span{ + &.format-label[data-format="pbix"]{ + background-image: url("/data/static/img/sprite-resource-additional-icons.png"); + background-repeat: no-repeat; + width: 60px; + height: 65px; + background-position: -120px -220px; + transform: scale(0.53); + margin: -14px 0 0 -14px; + } + &.format-label[data-format="mp4"], + &.format-label[data-format="flv"], + &.format-label[data-format="mov"], + &.format-label[data-format="avi"], + &.format-label[data-format="mkv"], + &.format-label[data-format="wmv"]{ + background-image: url("/data/static/img/sprite-resource-additional-icons.png"); + background-repeat: no-repeat; + width: 60px; + height: 65px; + background-position: -220px -220px; + transform: scale(0.53); + margin: -14px 0 0 -14px; + } + &.format-label[data-format="md"], + &.format-label[data-format="markdown"]{ + background-image: url("/data/static/img/sprite-resource-additional-icons.png"); + background-repeat: no-repeat; + width: 60px; + height: 65px; + background-position: -320px -220px; + transform: scale(0.53); + margin: -14px 0 0 -14px; + } + } + } +} +/*############################ +## END ## +## Custom Resource Sprites ## +## END ## +##############################*/ + +/*###################################### +## TODO: DEPRECATED: ## +## REMOVE AFTER FULL PD DATATABLES QA ## +## PD DataTable CSS Overrides ## +## TODO: DEPRECATED: ## +## REMOVE AFTER FULL PD DATATABLES QA ## +########################################*/ +.canada-wet-datatable-btn-primary{ + color: $btn-primary-text !important; + background: $btn-primary-bkg !important; + border-color: $btn-primary-brd !important; + transition-duration: 0.325s !important; + &.disabled{ + color: $btn-primary-text !important; + background: $btn-primary-bkg-dis !important; + border-color: $btn-primary-brd-dis !important; + } + &:not(.disabled){ + &:hover, &:active, &:focus{ + background: $btn-primary-bkg-hover !important; + border-color: $btn-primary-brd-hover !important; + } + } +} +.canada-wet-datatable-btn-danger{ + color: $btn-danger-text !important; + background: $btn-danger-bkg !important; + border-color: $btn-danger-brd !important; + transition-duration: 0.325s !important; + &.disabled{ + color: $btn-primary-text !important; + background: $btn-danger-bkg-dis !important; + border-color: $btn-danger-brd-dis !important; + } + &:not(.disabled){ + &:hover, &:active, &:focus{ + background: $btn-danger-bkg-hover !important; + border-color: $btn-danger-brd-hover !important; + } + } +} +/*###################################### +## END ## +## TODO: DEPRECATED: ## +## REMOVE AFTER FULL PD DATATABLES QA ## +## PD DataTable CSS Overrides ## +## TODO: DEPRECATED: ## +## REMOVE AFTER FULL PD DATATABLES QA ## +## END ## +########################################*/ diff --git a/ckanext/canada/assets/internal/registry_frictionless.js b/ckanext/canada/assets/custom/source/frictionless.js similarity index 100% rename from ckanext/canada/assets/internal/registry_frictionless.js rename to ckanext/canada/assets/custom/source/frictionless.js diff --git a/ckanext/canada/assets/internal/canada_guess_mimetype.js b/ckanext/canada/assets/custom/source/guess_mimetype.js similarity index 100% rename from ckanext/canada/assets/internal/canada_guess_mimetype.js rename to ckanext/canada/assets/custom/source/guess_mimetype.js diff --git a/ckanext/canada/assets/public/i18n.js b/ckanext/canada/assets/custom/source/i18n.js similarity index 100% rename from ckanext/canada/assets/public/i18n.js rename to ckanext/canada/assets/custom/source/i18n.js diff --git a/ckanext/canada/assets/public/more_like_this.js b/ckanext/canada/assets/custom/source/more_like_this.js similarity index 100% rename from ckanext/canada/assets/public/more_like_this.js rename to ckanext/canada/assets/custom/source/more_like_this.js diff --git a/ckanext/canada/assets/internal/registry_organization_edit.js b/ckanext/canada/assets/custom/source/organization_edit.js similarity index 100% rename from ckanext/canada/assets/internal/registry_organization_edit.js rename to ckanext/canada/assets/custom/source/organization_edit.js diff --git a/ckanext/canada/assets/internal/package_confirm_contact_email.js b/ckanext/canada/assets/custom/source/package_confirm_contact_email.js similarity index 100% rename from ckanext/canada/assets/internal/package_confirm_contact_email.js rename to ckanext/canada/assets/custom/source/package_confirm_contact_email.js diff --git a/ckanext/canada/assets/internal/registry_package_edit.js b/ckanext/canada/assets/custom/source/package_edit.js similarity index 100% rename from ckanext/canada/assets/internal/registry_package_edit.js rename to ckanext/canada/assets/custom/source/package_edit.js diff --git a/ckanext/canada/assets/custom/source/recombinant_webform.js b/ckanext/canada/assets/custom/source/recombinant_webform.js new file mode 100644 index 000000000..203665311 --- /dev/null +++ b/ckanext/canada/assets/custom/source/recombinant_webform.js @@ -0,0 +1,17 @@ +window.addEventListener('load', function(){ + $(document).ready(function() { + let select2Fields = $('.recombinant-select2'); + if( select2Fields.length > 0 ){ + $(select2Fields).each(function(_index, _field){ + // initialize select2 for recombinant-select2 + let idSuffix = $(_field).attr('id'); + $(_field).select2({}); + $(_field).parent() + .children('#s2id_' + idSuffix) + .addClass('conrtol-medium') + .removeClass('form-control') + .css({'display': 'block'}); + }); + } + }); +}); diff --git a/ckanext/canada/assets/internal/canada_internal_analytics.js b/ckanext/canada/assets/custom/source/registry_analytics.js similarity index 100% rename from ckanext/canada/assets/internal/canada_internal_analytics.js rename to ckanext/canada/assets/custom/source/registry_analytics.js diff --git a/ckanext/canada/assets/internal/registry_resource_edit.js b/ckanext/canada/assets/custom/source/resource_edit.js similarity index 100% rename from ckanext/canada/assets/internal/registry_resource_edit.js rename to ckanext/canada/assets/custom/source/resource_edit.js diff --git a/ckanext/canada/assets/internal/canada_internal_users.js b/ckanext/canada/assets/custom/source/users.js similarity index 100% rename from ckanext/canada/assets/internal/canada_internal_users.js rename to ckanext/canada/assets/custom/source/users.js diff --git a/ckanext/canada/assets/public/voting_fix.js b/ckanext/canada/assets/custom/source/voting_fix.js similarity index 100% rename from ckanext/canada/assets/public/voting_fix.js rename to ckanext/canada/assets/custom/source/voting_fix.js diff --git a/ckanext/canada/assets/custom/webassets.yml b/ckanext/canada/assets/custom/webassets.yml new file mode 100644 index 000000000..d6d6bbd0f --- /dev/null +++ b/ckanext/canada/assets/custom/webassets.yml @@ -0,0 +1,84 @@ +css: + contents: + - build/custom_styles.min.css + output: canada_custom/%(version)s_custom_styles.css + +adobe_analytics_fix: + contents: + - build/adobe_analytics_fix.min.js + output: canada_custom/%(version)s_adobe_analytics_fix.js + +check_all: + contents: + - build/check_all.min.js + output: canada_custom/%(version)s_check_all.js + +i18n: + contents: + - build/i18n.min.js + output: canada_custom/%(version)s_i18n.js + +more_like_this: + contents: + - build/more_like_this.min.js + output: canada_custom/%(version)s_more_like_this.js + +voting_fix: + contents: + - build/voting_fix.min.js + output: canada_custom/%(version)s_voting_fix.js + +guess_mimetype: + contents: + - build/guess_mimetype.min.js + output: canada_custom/%(version)s_guess_mimetype.js + +cascading_select: + contents: + - build/cascading_select.min.js + output: canada_custom/%(version)s_cascading_select.js + +analytics: + contents: + - build/analytics.min.js + output: canada_custom/%(version)s_analytics.js + +registry_analytics: + contents: + - build/registry_analytics.min.js + output: canada_custom/%(version)s_registry_analytics.js + +user_lock: + contents: + - build/users.min.js + output: canada_custom/%(version)s_users.js + +recombinant_webforms: + contents: + - build/recombinant_webform.min.js + output: canada_custom/%(version)s_recombinant_webform.js + +frictionless: + contents: + - build/frictionless.min.js + output: canada_custom/%(version)s_frictionless.js + +organization_edit: + contents: + - build/organization_edit.min.js + output: canada_custom/%(version)s_organization_edit.js + +package_edit: + contents: + - build/package_edit.min.js + output: canada_custom/%(version)s_package_edit.js + +resource_edit: + contents: + - build/resource_edit.min.js + output: canada_custom/%(version)s_resource_edit.js + +package_confirm_contact_email: + contents: + - build/package_confirm_contact_email.js + output: canada_custom/%(version)s_package_confirm_contact_email.js diff --git a/ckanext/canada/assets/datatables/build/canada_datatables.min.css b/ckanext/canada/assets/datatables/build/canada_datatables.min.css new file mode 100644 index 000000000..20dbc630b --- /dev/null +++ b/ckanext/canada/assets/datatables/build/canada_datatables.min.css @@ -0,0 +1 @@ +div#dtprv_processing.dataTables_processing{z-index:9999 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;margin:0 !important}div#dtprv_processing.dataTables_processing>div:last-child{position:absolute !important;left:50% !important;transform:translate(-50%, -50%) !important;pointer-events:none !important}div#dtprv_processing.dataTables_processing>div:last-child>div{background-color:#335075 !important;pointer-events:none !important}body[data-disabled-view=true] div#resize_wrapper{margin-top:75px !important}@media(max-width: 992px){body[data-disabled-view=true] div#resize_wrapper{margin-top:125px !important}}div.canada-disabled-view-alert{text-align:center !important;pointer-events:none !important;z-index:9999 !important;width:100% !important;margin:0 !important}.buttons-collection.buttons-colvis~.dt-button-collection.fixed{width:75%;top:10% !important;margin-top:0 !important;transform:translateX(-50%);margin-left:0;padding:18px !important;max-height:80% !important;overflow-y:scroll !important}.buttons-collection.buttons-colvis~.dt-button-collection.fixed .dropdown-menu{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;max-height:100% !important;min-height:100% !important;height:100% !important}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a{word-break:break-all}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a.buttons-columnVisibility{max-width:50%;min-width:50%;width:50%;margin-bottom:5px;padding-left:24px;padding-right:10px;position:relative}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a.buttons-columnVisibility::before{content:"";font:normal normal normal 14px/1 FontAwesome;position:absolute;left:6px;top:6px}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a.buttons-columnVisibility.active::before{content:""}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a:not(.buttons-columnVisibility){flex-basis:100%;margin-top:8px}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a:not(.buttons-columnVisibility).buttons-colvisRestore{max-width:51%;min-width:51%;width:51%}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a:not(.buttons-columnVisibility).buttons-colvisGroup{max-width:50%;min-width:50%;width:50%}.buttons-collection.buttons-colvis~.dt-button-collection.fixed a:not(.buttons-columnVisibility).buttons-colvisGroup:nth-last-of-type(3){max-width:49%;min-width:49%;width:49%;margin-left:-1%}body .pd-datatable-ref-link{opacity:.65;margin-left:4px}body .pd-datatable-ref-link small{font-size:75%}body .d-none-soft{display:none}body .canada-dt-search-input-no-fts{cursor:not-allowed !important;outline:none !important;box-shadow:none !important}body .canada-dt-hidden-div-fix{height:1 !important;width:1 !important;overflow:hidden !important;position:fixed !important;top:0 !important;left:0 !important}body .form-select{background-image:none}body .form-check-input:checked[type=checkbox]{background-image:none}body .form-check-input:checked[type=radio]{background-image:none}body .form-check-input[type=checkbox]:indeterminate{background-image:none}body .form-switch .form-check-input{background-image:none}body .form-switch .form-check-input:focus{background-image:none}body .form-switch .form-check-input:checked{background-image:none}body .was-validated .form-control:valid{background-image:none}body .was-validated .form-control:invalid{background-image:none}body .was-validated .form-select:valid:not([multiple]):not([size]),body .was-validated .form-select:valid:not([multiple])[size="1"]{background-image:none}body .was-validated .form-select:invalid:not([multiple]):not([size]),body .was-validated .form-select:invalid:not([multiple])[size="1"]{background-image:none}body .form-control.is-valid{background-image:none}body .form-control.is-invalid{background-image:none}body .form-select.is-valid:not([multiple]):not([size]),body .form-select.is-valid:not([multiple])[size="1"]{background-image:none}body .form-select.is-invalid:not([multiple]):not([size]),body .form-select.is-invalid:not([multiple])[size="1"]{background-image:none}body .navbar-light .navbar-toggler-icon{background-image:none}body .navbar-dark .navbar-toggler-icon{background-image:none}body .accordion-button:not(.collapsed)::after{background-image:url("/data/static/img/data_img/chevron-down-blue.svg")}body .accordion-button::after{background-image:url("/data/static/img/data_img/chevron-down-grey.svg")}body .btn-close{background-image:none}body .carousel-control-prev-icon{background-image:none}body .carousel-control-next-icon{background-image:none} \ No newline at end of file diff --git a/ckanext/canada/assets/datatables/build/canada_datatables.min.js b/ckanext/canada/assets/datatables/build/canada_datatables.min.js new file mode 100644 index 000000000..c619401e2 --- /dev/null +++ b/ckanext/canada/assets/datatables/build/canada_datatables.min.js @@ -0,0 +1 @@ +window.addEventListener("load",function(){$(document).on("preInit.dt",function(n,o){$("body.dt-view").css("visibility","visible"),$("#dtprv_processing").css({"background-color":"rgba(255, 255, 255, 1)",display:"block","pointer-events":"all"}),$("#dtprv_processing > div").css("top","15%")}),$(document).on("init.dt",function(){$("#dtprv_processing").css({"background-color":"rgba(255, 255, 255, 0.65)","pointer-events":"none"}),$("#dtprv_processing > div").css("top","50%")}),$(document).on("processing.dt",function(n,o,s){$("#dtprv_processing").css("display",s?"block":"none")})}); \ No newline at end of file diff --git a/ckanext/canada/assets/datatables/build/pd_datatables.min.css b/ckanext/canada/assets/datatables/build/pd_datatables.min.css new file mode 100644 index 000000000..37421bd73 --- /dev/null +++ b/ckanext/canada/assets/datatables/build/pd_datatables.min.css @@ -0,0 +1 @@ +@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes l7-1{0%,100%{background-position:0 -50px,100% -50px}17.5%{background-position:0 100%,100% -50px,0 -50px,100% -50px}35%{background-position:0 100%,100% 100%,0 -50px,100% -50px}52.5%{background-position:0 100%,100% 100%,0 calc(100% - 16px),100% -50px}70%,98%{background-position:0 100%,100% 100%,0 calc(100% - 16px),100% calc(100% - 16px)}}@keyframes l7-2{0%,70%{transform:translate(0)}100%{transform:translate(200%)}}@keyframes l8{0%{background-position:0 0,0 100%}100%{background-position:60px 0,60px 100%}}@keyframes checkmark{0%{stroke-dashoffset:50%}100%{stroke-dashoffset:0px}}@keyframes grow-circle{0%{r:0}}@keyframes grow-circle-bigger{50%{opacity:.11}100%{r:100;opacity:0}}.pd-datable-instructions{margin-bottom:10px}.pd-datable-instructions pre{display:inline !important;padding:2px 6px !important}.pd-datable-instructions:fullscreen{background-color:#fff !important}#dt-preview:fullscreen{background-color:#fff !important;padding-top:15px !important;padding-bottom:15px !important;margin-bottom:15px !important;overflow-y:scroll !important}#dt-preview:fullscreen h2{display:none !important}#dt-preview:fullscreen #dtprv_wrapper{padding:15px !important;height:90vh !important;min-height:90vh !important}#dt-preview:fullscreen #dtprv_wrapper .dt-scroll-body{height:55vh !important;max-height:55vh !important}body .dt-scroll-head{visibility:hidden}body #select2-drop ul.select2-results li.select2-disabled{display:none !important}body #dtprv{visibility:hidden}body #dtprv td{font-size:16px}body #dtprv .pd-datatable-readmore .collapse,body #dtprv .pd-datatable-readmore .collapsing{transition-duration:0s !important}body #dtprv .pd-datatable-readmore span.show{display:inline !important}body #dtprv .pd-datatable-ref-link{opacity:.65;margin-left:4px}body #dtprv .pd-datatable-ref-link small{font-size:75%}body #dtprv_wrapper{position:relative !important}body #dtprv_wrapper:fullscreen{background-color:#fff !important}body #dtprv_wrapper #dtprv{margin-top:-15px !important}body #dtprv_wrapper .dt-scroll{position:relative !important;overflow:hidden !important;margin-top:10px !important}body #dtprv_wrapper .dt-empty{padding:0;position:relative;height:400px;background-color:rgba(0,0,0,.05);text-align:left !important}body #dtprv_wrapper[data-compact-view=true] .dt-scroll-body.pd-datatable-body-main-no-records::after{content:"";position:absolute;top:0;left:0;bottom:0;width:36px;display:block;background-color:#fff}body #dtprv_wrapper[data-compact-view=true] th.expanders,body #dtprv_wrapper[data-compact-view=true] td.expanders{width:36px !important;min-width:36px !important;max-width:36px !important}body #dtprv_wrapper #pd-dtatable-no-records{position:sticky;display:block;text-align:center;width:225px;left:50%;transform:translateX(-50%);top:36px;font-weight:600}body #dtprv_wrapper #dtprv_processing{top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;background-color:rgba(0,0,0,.325) !important}body #dtprv_wrapper #dtprv_processing>div{position:absolute !important;top:25% !important;left:50% !important;transform:translateX(-50%) !important}body #dtprv_wrapper #dtprv_processing>div>div{background-color:#335075 !important}body #dtprv_wrapper .dt-buttons{width:100%}body #dtprv_wrapper .dt-buttons button.btn{border-radius:0 !important}body #dtprv_wrapper .dt-buttons .btn-secondary{color:#fff !important}body #dtprv_wrapper .dt-buttons .btn-secondary:hover,body #dtprv_wrapper .dt-buttons .btn-secondary:active,body #dtprv_wrapper .dt-buttons .btn-secondary:focus{color:#fff !important}body #dtprv_wrapper .dt-buttons .buttons-colvis::after{content:none !important}body #dtprv_wrapper .dt-length{display:inline-flex !important;flex-direction:row-reverse !important;margin-top:10px !important;align-items:center !important;width:33.3333333333% !important;min-width:33.3333333333% !important;max-width:33.3333333333% !important}@media(max-width: 768px){body #dtprv_wrapper .dt-length{display:flex !important;width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-length select{margin-right:auto !important;background-image:none !important;font-size:14px !important;height:32px !important;min-height:32px !important;max-height:32px !important}body #dtprv_wrapper .dt-length label{margin-right:10px !important}body #dtprv_wrapper .dt-search{display:inline-flex !important;flex-direction:row !important;margin-top:10px !important;align-items:center !important;width:66.6666666667% !important;min-width:66.6666666667% !important;max-width:66.6666666667% !important}@media(max-width: 768px){body #dtprv_wrapper .dt-search{display:flex !important;width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-search input{margin-left:10px !important}body #dtprv_wrapper .dt-search label{margin-left:auto !important}@media(max-width: 768px){body #dtprv_wrapper .dt-search label{margin-left:0 !important}}body #dtprv_wrapper .dt-info{display:inline-flex !important;width:50% !important;min-width:50% !important;max-width:50% !important;margin-top:10px !important;margin-bottom:10px !important}@media(max-width: 768px){body #dtprv_wrapper .dt-info{display:flex !important;width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-jump-to-page{display:inline-flex !important;width:50% !important;min-width:50% !important;max-width:50% !important;margin-top:-5px;margin-bottom:10px;float:right;clear:right;box-sizing:border-box}@media(max-width: 768px){body #dtprv_wrapper .dt-jump-to-page{width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-jump-to-page input{font-size:14px !important;height:32px !important;min-height:32px !important;max-height:32px !important}body #dtprv_wrapper .dt-jump-to-page label{margin-right:10px !important;margin-left:auto !important}@media(max-width: 768px){body #dtprv_wrapper .dt-jump-to-page label{margin-left:0 !important}}body #dtprv_wrapper #dtprv_info{float:left;clear:left;box-sizing:border-box}body #dtprv_wrapper .dt-sorting-info{display:inline-flex !important;width:50% !important;min-width:50% !important;max-width:50% !important;margin-top:-10px;margin-bottom:10px;float:left;clear:left;box-sizing:border-box}@media(max-width: 768px){body #dtprv_wrapper .dt-sorting-info{width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-sorting-info .info-label{white-space:nowrap !important;margin-right:8px !important}body #dtprv_wrapper .dt-sorting-info div{display:inline-flex;width:100%;flex-direction:column}body #dtprv_wrapper .dt-paging{display:inline-flex !important;width:50% !important;min-width:50% !important;max-width:50% !important;margin-top:10px !important;margin-bottom:10px !important;clear:both;box-sizing:border-box}@media(max-width: 768px){body #dtprv_wrapper .dt-paging{display:flex !important;width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dt-paging>nav{margin-left:auto !important}@media(max-width: 768px){body #dtprv_wrapper .dt-paging>nav{margin-left:0 !important}}body #dtprv_wrapper .dt-paging ul.pagination{display:flex !important}body #dtprv_wrapper .dt-paging .page-link{min-width:36px !important;height:36px !important;min-height:36px !important;max-height:36px !important;line-height:26px !important}body #dtprv_wrapper .dt-orderable-none{padding:8px !important}body #dtprv_wrapper .dt-orderable-none .dt-column-order{display:none !important}body #dtprv_wrapper thead th{font-size:16px !important;vertical-align:top !important}body #dtprv_wrapper thead th .dt-column-order::after{color:#333 !important;top:17.5px !important}body #dtprv_wrapper thead th .dt-column-order::before{color:#333 !important;bottom:initial !important;top:5px !important}body #dtprv_wrapper thead th:not(.dt-ordering-desc):not(.dt-ordering-asc) .dt-column-order::after,body #dtprv_wrapper thead th:not(.dt-ordering-desc):not(.dt-ordering-asc) .dt-column-order::before{opacity:.325}body #dtprv_wrapper .dropdown-menu.dt-button-collection{position:absolute !important;left:0 !important;right:0 !important;bottom:0 !important;width:calc(100% + 10px) !important;background-color:rgba(0,0,0,.325) !important;margin-left:-5px !important;margin-right:-5px !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu]{display:flex;flex-direction:row;flex-wrap:wrap;position:absolute !important;left:50% !important;top:10px !important;transform:translateX(-50%) !important;width:75% !important;padding-left:5px !important;padding-top:5px !important;padding-bottom:none !important;background-color:#fff !important;border-radius:4px !important;max-height:85% !important;overflow-y:scroll !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button{width:calc(33.3333333333% - 5px) !important;min-width:calc(33.3333333333% - 5px) !important;max-width:calc(33.3333333333% - 5px) !important;padding-right:10px !important;padding-left:28px !important;margin-bottom:5px !important;margin-right:5px !important;text-decoration:none !important;font-size:14px !important;text-overflow:initial !important;white-space:normal !important;line-height:22px !important}@media(max-width: 768px){body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button{width:50% !important;min-width:50% !important;max-width:50% !important}}@media(max-width: 500px){body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button{width:100% !important;min-width:100% !important;max-width:100% !important}}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button:nth-of-type(1),body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button:nth-of-type(2){display:none !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button.dt-button-active{color:#fff !important;background-color:#206b82 !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button.dt-button-active:hover,body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button.dt-button-active:active,body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button.dt-button-active:focus{background-color:#26374a !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button.dt-button-active::after{content:"" !important;font-family:"FontAwesome" !important;right:initial !important;left:6px !important;top:12px !important}body #dtprv_wrapper .dropdown-menu.dt-button-collection div[role=menu] a.dt-button:not(.dt-button-active){color:#333 !important}body #dtprv_wrapper[data-editable=true] .dropdown-menu.dt-button-collection div[role=menu] a.dt-button:nth-of-type(3){display:none !important}body #dtprv_wrapper tfoot th.expanders{visibility:hidden !important}body #dtprv_wrapper .dt-scroll-head th.expanders{visibility:hidden !important;position:relative !important}body #dtprv_wrapper .dt-scroll-head th:not(.no-edit){z-index:2 !important;border-bottom:2px solid #335075 !important}body #dtprv_wrapper .dt-scroll-head thead{background-color:#fff !important}body #dtprv_wrapper td.expanders.dtr-control::before{font-family:"FontAwesome";content:"";border:none !important;font-size:18px !important;color:#26374a !important}body #dtprv_wrapper td.expanders.dtr-control:hover::before,body #dtprv_wrapper td.expanders.dtr-control:active::before,body #dtprv_wrapper td.expanders.dtr-control:focus::before{color:#1c578a !important}body #dtprv_wrapper tr.dtr-expanded td.expanders.dtr-control::before{content:"";font-size:15px !important}body #dtprv_wrapper .dt-scroll-body thead{position:relative !important}body #dtprv_wrapper .dt-scroll-body thead th{visibility:hidden !important;pointer-events:none !important}body #dtprv_wrapper .dt-scroll-body thead th .dt-column-title,body #dtprv_wrapper .dt-scroll-body thead th .dt-column-order{visibility:hidden !important;pointer-events:none !important}body #dtprv_wrapper .dt-scroll-body thead tfoot input,body #dtprv_wrapper .dt-scroll-body thead tfoot label,body #dtprv_wrapper .dt-scroll-body thead thead span.dt-column-order{visibility:hidden !important}body #dtprv_wrapper #dtprv-body-main td.child .dtr-details{display:block;width:100%}body #dtprv_wrapper #dtprv-body-main .pd-datatable-badge{background-color:gold !important;color:#333 !important;font-size:12px !important;display:inline-flex;flex-wrap:nowrap;flex-direction:row;align-items:center;margin-left:4px}body #dtprv_wrapper #dtprv-body-main .pd-datatable-badge i{font-size:9px !important}body #dtprv_wrapper #dtprv-editor-button button{position:absolute !important;top:0;left:0;right:1px;bottom:0;width:100%;min-width:100%;max-width:100%;height:100%;display:flex;align-items:center;text-align:center;justify-content:center;border-radius:0 !important;color:#fff !important;background-color:#1b6c1c !important;border-color:#071a07 !important}body #dtprv_wrapper #dtprv-editor-button button:hover,body #dtprv_wrapper #dtprv-editor-button button:active,body #dtprv_wrapper #dtprv-editor-button button:focus{color:#fff !important;background-color:#114311 !important;border-color:#000 !important}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head,body #dtprv_wrapper[data-compact-view=false] .dt-scroll-foot{overflow:hidden !important}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head,body #dtprv_wrapper[data-compact-view=false] .dt-scroll-foot,body #dtprv_wrapper[data-compact-view=false] #dtprv{margin-left:-36px !important;width:calc(100% + 36px) !important}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-fixed{position:sticky !important;left:0;background-color:#fff !important}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-fixed,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-fixed{left:0;z-index:4 !important;left:36px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-xxs{left:75px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-xxs,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-xxs{left:111px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-xs{left:100px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-xs,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-xs{left:136px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-sm{left:135px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-sm,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-sm{left:171px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-md{left:225px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-md,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-md{left:261px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-sm_md{left:360px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-sm_md,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-sm_md{left:396px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-md_lg{left:525px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-md_lg,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-md_lg{left:561px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-lg{left:300px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-lg,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-lg{left:336px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-xl{left:400px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-xl,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-xl{left:436px}body #dtprv_wrapper[data-compact-view=false] .pd-datatables-primary-key-offset-xxl{left:620px}body #dtprv_wrapper[data-compact-view=false] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-offset-xxl,body #dtprv_wrapper[data-compact-view=false] #dtprv-foot-main .pd-datatables-primary-key-offset-xxl{left:656px}body #dtprv_wrapper[data-edit-view=true] .dt-length,body #dtprv_wrapper[data-edit-view=true] .dt-search{display:none !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-editor-button button{visibility:hidden !important;pointer-events:none !important;display:none !important}body #dtprv_wrapper[data-edit-view=true] .dt-scroll-head,body #dtprv_wrapper[data-edit-view=true] .dt-scroll-foot,body #dtprv_wrapper[data-edit-view=true] #dtprv{margin-left:0 !important;width:100% !important}body #dtprv_wrapper[data-edit-view=true] .pd-datatables-primary-key-fixed{position:relative !important;left:initial !important}body #dtprv_wrapper[data-edit-view=true] .dt-scroll-head th:not(:first-of-type).pd-datatables-primary-key-fixed,body #dtprv_wrapper[data-edit-view=true] #dtprv-foot-main .pd-datatables-primary-key-fixed{left:initial !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-foot-main,body #dtprv_wrapper[data-edit-view=true] #dtprv_info,body #dtprv_wrapper[data-edit-view=true] .dt-paging,body #dtprv_wrapper[data-edit-view=true] .dt-length,body #dtprv_wrapper[data-edit-view=true] .dt-search{display:none !important;visibility:hidden !important}body #dtprv_wrapper[data-edit-view=true] th.checkboxes,body #dtprv_wrapper[data-edit-view=true] td.checkboxes,body #dtprv_wrapper[data-edit-view=true] th[data-editable-col=false],body #dtprv_wrapper[data-edit-view=true] td[data-editable-col=false],body #dtprv_wrapper[data-edit-view=true] th.pd-datatables-non-editable-col,body #dtprv_wrapper[data-edit-view=true] td.pd-datatables-non-editable-col{visibility:hidden !important;width:0 !important;min-width:0 !important;max-width:0 !important;height:0 !important;min-height:0 !important;max-height:0 !important;padding:0 !important;margin:0 !important;line-height:0 !important;font-size:0 !important;border:none !important}body #dtprv_wrapper[data-edit-view=true] th{pointer-events:none !important}body #dtprv_wrapper[data-edit-view=true] .dt-scroll{margin-top:25px !important}body #dtprv_wrapper[data-edit-view=true] .dt-scroll-body thead{height:16px;min-height:16px}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td{padding:0 !important;box-shadow:none}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td.expanders{position:sticky !important;left:0;background-color:#555;color:#fff;font-weight:700 !important;text-align:center !important;padding:4px 8px !important;z-index:6 !important;vertical-align:middle !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .validation-error{padding:4px 6px;background-color:#ff7961;color:#333 !important;font-size:14px;font-weight:600}body #dtprv_wrapper[data-edit-view=true] #dtprv_failure_message{margin-top:15px;clear:both !important}body #dtprv_wrapper[data-edit-view=true] #dtprv_failure_message p{font-weight:700}body #dtprv_wrapper[data-edit-view=true] .pd-datable-error-summary .pd-datable-error-summary-item{margin-bottom:10px;margin-top:10px;margin-left:-0.5em;margin-right:-0.5em;width:calc(100% + 1em);border:2px solid #ff7961;border-radius:4px;padding-left:15px;padding-right:15px}body #dtprv_wrapper[data-edit-view=true] .pd-datable-error-summary .pd-datable-error-summary-row-title{padding:4px 6px;background-color:#ff7961;color:#333 !important;display:block;margin-left:-15px;margin-right:-15px;width:calc(100% + 30px)}body #dtprv_wrapper[data-edit-view=true] .pd-datable-error-field-link{color:initial !important;text-decoration:underline dotted !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td input,body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td select,body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td textarea,body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container{width:100% !important;min-width:100% !important;max-width:100% !important;border-radius:0 !important;padding:4px 8px !important;border:none !important;background-color:#fff !important;margin:0 !important;box-shadow:0 0 1px 1px #d0d0d0 inset}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td input,body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td textarea{display:block !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td textarea{min-height:31px !important;height:100%}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td input.select2-input{box-shadow:none !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container{padding:1px !important;position:relative}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container a.select2-choice{border:none !important;border-radius:0 !important;background-color:rgba(0,0,0,0) !important;min-height:29px;background-image:none !important;padding-left:20px !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container a.select2-choice .select2-arrow{border:none !important;border-radius:0 !important;background-color:rgba(0,0,0,0) !important;background-image:none !important;color:#333 !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container.select2-container-multi::after{content:"";font-family:"FontAwesome";font-weight:900;position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:12px;color:#333 !important;pointer-events:none !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container input.select2-input{background-color:rgba(0,0,0,0) !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container>ul{border-radius:0 !important;padding:0 !important;padding-right:15px !important;border:none !important;background-color:rgba(0,0,0,0) !important;margin:0 !important;background-image:none !important;box-shadow:none}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container.editor-input-readonly{cursor:not-allowed !important;pointer-events:none !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main td .select2-container.editor-input-readonly .select2-search-choice-close{visibility:hidden !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main .pd-datatable-editor-input.editor-input-readonly{background-color:#e8e8e8 !important;color:#333 !important;outline:none !important;cursor:not-allowed !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main tr.validation-error td.expanders{background-color:#ff7961 !important;color:#333 !important}body #dtprv_wrapper[data-edit-view=true] #dtprv-body-main tr.validation-error td:not(.expanders){padding:4px 6px !important;background-color:#ff7961 !important;color:#333 !important;font-size:14px !important;font-weight:600 !important}body #dtprv_wrapper[data-edit-view=true] span.dt-column-order{pointer-events:none !important;display:none !important}body #dtprv_wrapper[data-edit-view=true] .pd-datatables-non-editable-col:not(.expanders):not(.checkboxes){display:none !important}body #dtprv_wrapper[data-edit-view=true] #pd-datatables-editor-legend{font-size:14px;margin-top:10px}body #dtprv_wrapper[data-edit-view=true] #pd-datatables-editor-legend span{padding:4px 8px}body #dtprv_wrapper[data-compact-view=false][data-edit-view=false] #dtprv td.expanders{visibility:hidden !important}body #dtprv_wrapper[data-edit-view=false] .dt-scroll-body{border-bottom:0 !important}body #dtprv_wrapper[data-edit-view=false] .dt-scroll-foot tfoot th{border-top:3px solid #26374a !important}body #dtprv_wrapper[data-edit-view=false] th.expanders,body #dtprv_wrapper[data-edit-view=false] td.expanders{width:36px !important;min-width:36px !important;max-width:36px !important}body #dtprv_wrapper[data-edit-view=false] td:not(.child).pd-datatables-meta-col-lg,body #dtprv_wrapper[data-edit-view=false] th.pd-datatables-meta-col-lg{width:300px !important;min-width:300px !important;max-width:300px !important}body #dtprv_wrapper #dtprv-foot-main{font-size:13px !important;width:auto !important;min-width:auto !important;max-width:auto !important}body #dtprv_wrapper #dtprv-foot-main input[type=text]{font-size:13px !important;width:auto !important;min-width:auto !important;max-width:auto !important}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col{position:relative !important;display:flex !important;flex-wrap:nowrap !important;flex-direction:row !important}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col.dtprv-filter-col-deactive{pointer-events:none !important;visibility:hidden !important}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col input{min-height:37px !important;max-height:37px !important}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col input[type=text]{padding-left:6px !important;padding-right:6px !important;flex:1}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col button[type=submit]{display:none !important;width:24px;min-width:24px;max-width:24px;padding:0 !important;position:relative !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col button[type=submit] i.fa,body #dtprv_wrapper #dtprv-foot-main .dtprv-filter-col button[type=submit] i.fas{position:absolute !important;top:50%;left:50%;transform:translate(-50%, -50%);font-size:13px !important}body #dtprv_wrapper .pd-datatable-choice-title{text-decoration:underline dotted;cursor:help;display:inline}body #dtprv_wrapper .btn.btn-warning{color:#000 !important}body #dtprv_wrapper .btn.btn-warning:hover,body #dtprv_wrapper .btn.btn-warning:active,body #dtprv_wrapper .btn.btn-warning:focus{color:#000 !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-xxs,body #dtprv_wrapper th.pd-datatables-col-xxs{width:75px !important;min-width:75px !important;max-width:75px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-xs,body #dtprv_wrapper th.pd-datatables-col-xs{width:100px !important;min-width:100px !important;max-width:100px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-sm,body #dtprv_wrapper th.pd-datatables-col-sm{width:135px !important;min-width:135px !important;max-width:135px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-md,body #dtprv_wrapper th.pd-datatables-col-md{width:225px !important;min-width:225px !important;max-width:225px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-lg,body #dtprv_wrapper th.pd-datatables-col-lg{width:300px !important;min-width:300px !important;max-width:300px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-xl,body #dtprv_wrapper th.pd-datatables-col-xl{width:400px !important;min-width:400px !important;max-width:400px !important}body #dtprv_wrapper td:not(.child).pd-datatables-col-xxl,body #dtprv_wrapper th.pd-datatables-col-xxl{width:620px !important;min-width:620px !important;max-width:620px !important}body #dtprv_wrapper i.fa-spinner{animation:spin 4s linear infinite}body #dtprv_wrapper #loader-validating{width:90px;height:14px;margin-top:15px;box-shadow:0 3px 0 #fff;position:relative;clip-path:inset(-40px 0 -5px)}body #dtprv_wrapper #loader-validating:before{content:"";position:absolute;inset:auto calc(50% - 17px) 0;height:50px;--g: no-repeat linear-gradient(#335075 0 0);background:var(--g),var(--g),var(--g),var(--g);background-size:16px 14px;animation:l7-1 2s infinite linear,l7-2 2s infinite linear}body #dtprv_wrapper #loader-saving{margin-top:15px;width:90px;height:30px;box-shadow:0 3px 0 #fff;--g: repeat-x repeating-linear-gradient(90deg, #335075 0 16px, #0000 0 18px, #335075 0 34px, #0000 0 100%);background:var(--g),var(--g);background-size:60px 14px,60px 14px;animation:l8 1s infinite linear}body #dtprv_wrapper .pd-datatables-editor-loader{position:absolute;top:0;left:0;right:0;bottom:0;padding-top:50px;margin:-5px;background:#fff;width:calc(100% + 10px);height:calc(100% + 40px);z-index:99;display:flex;flex-direction:column;align-items:center;flex-wrap:nowrap;color:#335075;text-align:center;display:none}body #dtprv_wrapper #pd-datatables-editor-complete-more{margin-right:15px}body #dtprv_wrapper svg.pd-check-circle{color:#1e7e34;width:50px;height:50px}body #dtprv_wrapper svg.pd-check-circle polyline{animation:checkmark .5s cubic-bezier(0.55, 0.2, 0.71, -0.04) .7s backwards}body #dtprv_wrapper svg.pd-check-circle circle.semi-transparent{animation:grow-circle .45s cubic-bezier(0.66, 0.23, 0.51, 1.23) backwards,grow-circle-bigger .9s linear 1.1s forwards}body #dtprv_wrapper svg.pd-check-circle circle.colored{animation:grow-circle .5s cubic-bezier(0.66, 0.23, 0.51, 1.23) .25s backwards} \ No newline at end of file diff --git a/ckanext/canada/assets/datatables/build/pd_datatables.min.js b/ckanext/canada/assets/datatables/build/pd_datatables.min.js new file mode 100644 index 000000000..bf1323013 --- /dev/null +++ b/ckanext/canada/assets/datatables/build/pd_datatables.min.js @@ -0,0 +1 @@ +function load_pd_datatable(e,t){const a=e._,n=new URLSearchParams(document.location.search),r=((new Date).toISOString().split("T")[0],(new Date).getFullYear()),i=e.options.locale,l=e.options.locale_string,d=e.options.timezone_string,o=e.options.csrf_name,s=e.options.csrf_value,c=e.options.resource_id,p=e.options.resource_name,u=e.options.edit_single_uri,f=e.options.edit_records_uri,b=e.options.upsert_records_uri,m=e.options.delete_records_uri,h=e.options.ajax_uri,v=e.options.primary_keys,g=e.options.foreign_keys,y=e.options.foreign_links,_=e.options.chromo_fields,x=e.options.is_editable,w=e.options.table_styles,k=!1,T=pd_datatables__EDITOR,C=a("Select All"),E=a("Search:"),S=a("Sorting by:"),O=a("Ascending"),D=a("Descending"),q=a("Any"),N=a("Less"),j=a("Row"),A=a("New"),R=a("Updated"),F=a("Jump to page"),B=a("Reset Table"),I=a("Fullscreen"),L=a("Exit Fullscreen"),M=a("Exit Edit Mode"),z=a("Full Table"),P=a("Compact Table"),J=a("Edit Online"),U=a("Add new record in Table"),H=a('Edit in Table'),K=a("Record is valid"),G=a("Some fields have validation errors"),W=a("Some fields are required"),Y=a("Detailed error summary"),X=a("Field errors"),V=a("You have unsaved records in the table. Do you want to discard your changes or continue editing?"),Z=a("Validating records"),Q=a("Saving records to the system"),ee=a("Records saved to the system."),te=a("Would you like to add more records, or preview them in the table?"),ae=a("Add more records"),ne=a("Preview records"),re=a("Your records did not save because one or more of them have errors. Fix the errors and save again to finalize your records."),ie=a("Could not save the records due to the following error: "),le=a("Your records did not save. Try saving again. If the issue persists, please contact support with Support ID: "),de=a("Your records did not save. Try saving again. If the issue persists, please contact support."),oe=a("{PRIM_IDS} already used in this Editor Table."),se=a(" record(s)"),ce=a("Legend:"),pe=a("Valid"),ue=a("Error"),fe=a("Required"),be=a("Error: Could not query records. Please try again."),me=a("Error: Could not generate Excel template. Please try again."),he=a('Edit in Excel'),ve=a("Exporting{COUNT} record(s) to an Excel Template"),ge=a('Delete'),$e=a('Save'),ye={decimal:"",emptyTable:''+a("No data available in table")+"",info:a("Showing _START_ to _END_ of _TOTAL_ entries"),infoEmpty:a("Showing 0 to 0 of 0 entries"),infoFiltered:a("(filtered from _MAX_ total entries)"),infoPostFix:"",thousands:",",lengthMenu:a("_MENU_ Show number of entries"),loadingRecords:a("Loading..."),processing:"",search:a("Full Text Search"),zeroRecords:''+a("No matching records found")+"",paginate:{first:"«",last:"»",next:"›",previous:"‹"},aria:{orderable:a("Order by this column"),orderableReverse:a("Reverse order this column")}},_e=new marked.Renderer,xe={a:["href","title"],abbr:["title"],acronym:["title"],img:["src","alt","title"]},we=DOMPurify(window);we.setConfig({ALLOWED_TAGS:["a","abbr","acronym","b","blockquote","code","em","i","li","ol","strong","ul","del","dd","dl","dt","kbd","p","pre","s","sup","sub","strike","br","hr","h1","h2","h3","h4","h5","h6"]}),we.addHook("uponSanitizeAttribute",function(e,t){(xe[e.tagName.toLowerCase()]||[]).includes(t.attrName)||(t.keepAttr=!1)});const ke=["year","month","int","bigint","numeric","float","double","money"],Te=["text","_text"];n.has("dt_query")&&$([document.documentElement,document.body]).animate({scrollTop:$("#dt-preview").offset().top},0);let Ce="undefined"!=typeof window&&"function"==typeof window.confirm;let Ee,Se;/firefox|fxios/i.test(navigator.userAgent)&&"http:"==window.location.protocol&&(Ce=!1);let Oe=window.localStorage.getItem("DataTables_dtprv_"+window.location.pathname);Oe&&(Se=JSON.parse(Oe));let De=void 0===Se||void 0===Se.compact_view||Se.compact_view,qe=Ye(),Ne=void 0!==Se&&void 0!==Se.edit_view&&Se.edit_view;Ne=!1,Ne&&$(".pd-datable-instructions").css({display:"none"});let je=void 0!==Se&&void 0!==Se.editing_rows?Se.editing_rows:[],Ae=!1,Re=' '+ve.replace("{COUNT}",""),Fe=void 0!==Se&&void 0!==Se.errored_rows?Se.errored_rows:{},Be=void 0!==Se&&void 0!==Se.required_rows?Se.required_rows:{},Ie=void 0!==Se&&void 0!==Se.filled_rows?Se.filled_rows:{},Le=[],Me=[],ze={};if(n.has("dt_query")){let e=JSON.parse(n.get("dt_query"));for(let[t,a]of Object.entries(e)){let e=$("#dtprv").find("thead").find('th[data-datastore-id="'+t+'"]');if(e.length>0){let t=$(e).index();ze[t]=a}}}let Pe=[{className:"expanders",orderable:!1,targets:0,render:function(e,t,a,n){return Ne?n.row+1:e}},{className:"checkboxes",orderable:!1,targets:1}];function Je(e){let t=$("#dtprv").find(".pd-datatable-readmore");void 0!==e&&e&&e.length>0&&(t=$(e).find(".pd-datatable-readmore")),t.length>0&&$(t).each(function(e,t){$(t).parent("span").children(".pd-datatable-readmore-minimizer").length>0&&$(t).parent("span").children(".pd-datatable-readmore-minimizer").remove();let a=$(t).find("a.pd-datatable-readmore-expander"),n=$(t).find("a.pd-datatable-readmore-minimizer");$(t).find(".collapse").off("hidden.bs.collapse"),$(t).find(".collapse").on("hidden.bs.collapse",function(e){$(t).find('span[data-markdown="true"]').show(0),$(a).show(0)}),a.length>0&&($(a).off("click.readMore"),$(a).on("click.readMore",function(e){e.stopPropagation(),$(a).hide(0),$(t).find(".collapse").collapse("show"),$(t).find('span[data-markdown="true"]').hide(0),n.length>0&&$(n).focus()})),n.length>0&&($(n).off("click.readLess"),$(n).on("click.readLess",function(e){e.stopPropagation(),$(t).find(".collapse").collapse("hide")}))})}function Ue(){if($("#dtprv").find("#dtprv-foot-main").length>0){$("#dtprv").dataTable().api().columns().every(function(e){!function(e,t){let a=$.parseHTML('')[0];if(1==t&&(a=$.parseHTML('')[0]),t>=2){let n=$("#dtprv").find("thead").find("th").eq(t),i=$(n).attr("data-datastore-type"),l=E+" "+$(n).attr("data-schema-label"),d="",o=e.search(),s=String(o).length>0?o:"";ze&&void 0!==ze[t]&&(s=ze[t]);let c='';"year"==i?c='':"month"==i?c='':"date"==i?c='':"timestamp"==i?(d="dtprv-filter-col-deactive",c=''):"int"==i||"bigint"==i?c='':"numeric"==i||"float"==i||"double"==i?c='':"money"==i&&(c=''),a=$.parseHTML('"+c+'")[0]}e.footer().replaceChildren(a);let n=$("#dtprv-filter-col-"+t);if(n.length>0){let t=$(n).attr("data-number-type");$(n).off("keyup.filterCol"),$(n).on("keyup.filterCol",function(a){let r=$(n).val(),l="fr"==i?".":"";13==a.keyCode&&e.search()!==r&&("int"==t&&r?r=Math.round(r.replace(" ","").replace(",",l)):"float"==t&&r?r=parseFloat(r.replace(",",l).replace(" ","")):"money"==t&&r&&(r=parseFloat(r.replace("$","").replace(" ","").replace(",",l)).toFixed(2)),$(n).val(r).focus().blur(),e.search(r).draw())})}}(this,e)});let e=$("#dtprv_wrapper").find(".dt-scroll-foot").find("#dt-select-all");e.length>0&&$(e).on("click",function(t){$(e).is(":checked")?Ee.rows().select():Ee.rows().deselect()})}}function He(e,t,a,n,r){let i=[],l=[];for(let t=0;t0&&!l.includes(e)&&i.push([e,e])}),i}function Ke(e,t,n,o,s){if("display"==t){let c=e,p=!1;void 0!==s.datatables_full_text_choices&&s.datatables_full_text_choices&&(p=!0);let u=o.col-2;if(Ne)return void 0===s.import_template_include||s.import_template_include?function(e,t,n,l){let d=l.datastore_type,o="pd-records_"+t+"_"+l.datastore_id,s=k[l.datastore_id];void 0!==e&&null!=e||(e="");let c="",p="",u=0,f=v.includes(n);je.length>0&&v.includes(n)&&(c="readonly",p="editor-input-readonly",u=-1);let b="";void 0!==s.form_attrs&&s.form_attrs&&void 0!==s.form_attrs.maxlength&&(b='maxlength="'+s.form_attrs.maxlength+'"');let m='",h='';"year"==d?h='':"month"==d?h='':"date"==d?h='':"timestamp"==d?h='':"int"==d||"bigint"==d?h='':"numeric"==d||"float"==d||"double"==d?h='':"money"==d&&(h='');let g="",$="";if(void 0!==s.choices_suffix_filter&&s.choices_suffix_filter){let[e,t]=Object.entries(s.choices_suffix_filter)[0];g=e,$="("+t[i]+")"}if(void 0!==s.select_choices&&s.select_choices){h='"}return(void 0!==l.form_snippet&&l.form_snippet.includes("textarea")||void 0!==l.markdown&&l.markdown)&&(h='"),'
'+m+h+""}(e,o.row,u,s):"";if(null==e)return"";let f=!1;T&&(f=T[s.datastore_id]||!1),void 0!==s.markdown&&s.markdown&&(e=e.replace("•","\n-").replace("\r\n•","\n-").replace("\n•","\n-").replace("\r•","\n-").replace(String.fromCharCode(8226),"\n-").replace(String.fromCharCode(183),"\n-"),e=DataTable.render.ellipsis(100,o.row,s.datastore_id,!0)(e,t,n,o));let b="",m="";if(void 0!==f.choices_suffix_filter&&f.choices_suffix_filter){let[e,t]=Object.entries(f.choices_suffix_filter)[0];b=e,m="("+t[i]+")"}if("_text"==s.datastore_type){Array.isArray(e)||(e=e.toString().split(","));let t='
    ';e.forEach(function(e,n,r){let i=e;if(f&&p&&void 0!==f.select_choices&&f.select_choices){let t=He(f,e).concat(f.select_choices);for(let n=0;n0&&t[n][0].endsWith(b)&&(i+=" "+m);break}}t+=p?'
  • '+e+"
  • ":"
  • "+e+"
  • "}),t+="
",e=t}else if(f&&p&&void 0!==f.select_choices&&f.select_choices){let t=He(f,e).concat(f.select_choices);for(let n=0;n0&&t[n][0].endsWith(b)&&(r+=" "+m),e=''+e+"";break}}if(!0===e&&(e="TRUE"),!1===e&&(e="FALSE"),"numeric"!=s.datastore_type&&"int"!=s.datastore_type&&"bigint"!=s.datastore_type||(e="en"==i?DataTable.render.number(",",".",null,null).display(e,t,n):"fr"==i?DataTable.render.number(" ",",",null,null).display(e,t,n):DataTable.render.number(null,null,null,null).display(e,t,n)),"timestamp"==s.datastore_type&&(e.toString().includes("+0000")||(e=e.toString()+"+0000"),e=new Date(e).toLocaleString(l,{timeZone:"America/Montreal"})+" "+d),"money"==s.datastore_type&&(e.toString().includes("$")&&(e=e.toString().replace("$","")),e="en"==i?DataTable.render.number(",",".",2,"$").display(e,t,n):"fr"==i?DataTable.render.number(" ",",",2,null).display(e,t,n)+" $":DataTable.render.number(null,null,2,"$").display(e,t,n)),e=DataTable.render.ellipsis(100,o.row,s.datastore_id,!1)(e,t,n,o),v.includes(u)){let t=[];for(let e=0;e0)for(let a=0;a '+A+"");if(Me.length>0)for(let a=0;a '+R+"")}return e}return e}DataTable.ext.errMode=function(e,t,a){console.warn(a)},DataTable.render.ellipsis=function(e,t,a,n){return function(r,i,l,d){if("display"==i){if("string"==typeof r&&r.includes('class="pd-datatable-readmore"'))return r;let i=r.toString(),l=n?we.sanitize(marked.parse(i,{renderer:_e})):we.sanitize($($.parseHTML(i)).text());if(i.length"),n?we.sanitize(marked.parse(r,{renderer:_e})):r;let d="datatableReadMore_"+t+"_"+a,o='',s=n?we.sanitize(marked.parse(i,{renderer:_e})):i,c=n?function(e,t){const a=document.createElement("template");a.innerHTML=e;let n=0;return[...a.content.childNodes].forEach(function e(a){if(n>=t)a.remove();else{if(a.nodeType===Node.TEXT_NODE){const e=t-n;return a.textContent.length>e&&(a.textContent=a.textContent.slice(0,e)),void(n+=a.textContent.length)}a.nodeType===Node.ELEMENT_NODE&&[...a.childNodes].forEach(e)}}),a.innerHTML}(s,e-1)+o:s.substr(0,e-1)+o;c=c.replaceAll(/\r?\n/g,"
");let p=n?s:s.substr(e-1);return p=p.replaceAll(/\r?\n/g,"
"),'
'+c+''+p+'['+N+"]
"}return r}};let Ge=1;for(let e=0;e<_.length;e++)if(void 0===_[e].published_resource_computed_field||!_[e].published_resource_computed_field){let t="";void 0!==_[e].preview_class&&(t=_[e].preview_class),v.includes(e)&&(t+=" pd-datatables-primary-key-fixed "),void 0===_[e].import_template_include||_[e].import_template_include||(t+=" pd-datatables-non-editable-col "),void 0!==_[e].datatables_col_class&&(t+=" pd-datatables-"+_[e].datatables_col_class+" "),"record_created"!=_[e].datastore_id&&"record_modified"!=_[e].datastore_id||(t+=" pd-datatables-meta-col-lg "),Pe.push({name:_[e].datastore_id,className:t,searchable:!0,render:function(t,a,n,r){return Ke(t,a,n,r,_[e])}}),Ge+=1}const We=[[Ge-1,"desc"]];function Ye(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement}function Xe(e,t){if(void 0===t)return;let a=Ee.rows({selected:!0})[0].length,n=$("#dtprv_wrapper").find(".pd-datatable-btn-single");if(a>1&&$(n).each(function(e,t){$(t).addClass("disabled"),$(t).attr("disabled","disabled")}),x&&a>0){Ee.buttons("tableEditorButton:name").text(' '+H);let e=$("#dtprv_wrapper").find("span.pd-datatables-btn-count");$(e).each(function(e,t){$(t).html(" "+a+se)})}else{Ee.buttons("tableEditorButton:name").text(' '+U);let e=$("#dtprv_wrapper").find("span.pd-datatables-btn-count");$(e).each(function(e,t){$(t).html("")})}for(let a=0;a

'+t+"

")}function Ze(e){Ve(e,be,"warning")}function Qe(e){Ve(e,de,"danger")}function et(){$("#dtprv").css({visibility:"visible"}),$("table.dataTable").css({visibility:"visible"}),$(".dt-scroll-head").css({visibility:"visible"}),$(".dt-scroll-head").find("th.expanders").css({visibility:"visible"}),$(".dt-length").css({visibility:"visible"}),$(".dt-search").css({visibility:"visible"}),$("#dtprv-editor-button").css({visibility:"visible"}),$("#dtprv-editor-button").find("button").css({display:"flex"}),$("#dtprv_wrapper").attr("data-editable",x),$("#dtprv_wrapper").attr("data-compact-view",De),$("#dtprv_wrapper").attr("data-edit-view",Ne),$("#dtprv_wrapper").find("tr").children("th:first-of-type").css({width:"auto","min-width":"auto","max-width":"auto",padding:"8px",visibility:"visible"}),$("#dtprv_wrapper").find("tr").children("td:first-of-type").css({width:"auto","min-width":"auto","max-width":"auto",padding:"8px",visibility:"visible"})}function tt(){$("#dtprv").css({visibility:"hidden"}),$(".dt-scroll-head").css({visibility:"hidden"}),$(".dt-scroll-head").find("th.expanders").css({visibility:"hidden"}),$(".dt-length").css({visibility:"hidden"}),$(".dt-search").css({visibility:"hidden"}),$("#dtprv-editor-button").css({visibility:"hidden"}),$("#dtprv-editor-button").find("button").css({display:"none"})}function at(){if(Ne){let e=!1,t=!1,a=$("#dtprv_wrapper").find(".pd-datatable-save-btn").find("span.pd-datatables-btn-count");for(let[e,a]of Object.entries(Fe))a.length>0&&(t=!0);for(let[e,a]of Object.entries(Be))a.length>0&&(t=!0);let n=0;for(let[e,t]of Object.entries(Ie))t.length>0&&(n+=1);0==n?(e=!1,$(a).html("")):(e=!0,$(a).html(" "+n+se)),t||!e?Ee.buttons("saveButton:name").enable(!1):Ee.buttons("saveButton:name").enable()}Ae&&Ee.buttons("excelEditorButton:name").enable(!1);let e=$("#dtprv_wrapper").find(".dt-buttons").find(".btn.disabled");if(e.length>0&&$(e).each(function(e,t){$(t).attr("disabled",!0)}),Ne)return;let t=!1;De||(t=!0),Ee.search()&&(t=!0),10!=Ee.page.len()&&(t=!0);let a=$("#dtprv").find("thead").find('th[data-datastore-id="'+Se.order[0][0]+'"]').index();(Se.order.length!=We.length||"desc"!=Se.order[0][1]||Se.order[0][0]!=We[0][0]&&a!=We[0][0]||Se.order[0][1]!=We[0][1])&&(t=!0),Ee.page.info().page>0&&(t=!0),Ee.rows({selected:!0})[0].length>0&&(t=!0),0==Object.keys(ze).length&&Ee.columns().every(function(e){this.search()&&(t=!0)}),t?Ee.buttons("resetTableButton:name").enable():Ee.buttons("resetTableButton:name").enable(!1)}function nt(){let e=[];return document.fullscreenEnabled&&e.push({name:"fullscreenButton",text:qe&&Ye()?' '+L:' '+I,className:"pd-datatable-btn btn-secondary pd-datatable-fullscreen-btn",action:function(e,t,a,n){$(document).off("fullscreenchange.setButtonLabel"),$(document).on("fullscreenchange.setButtonLabel",function(e){qe&&Ye()?($(".pd-datatable-fullscreen-btn").html(' '+L),qe=!0):($(".pd-datatable-fullscreen-btn").html(' '+I),qe=!1)});let r=$("#dt-preview")[0];if(Ye())return document.exitFullscreen?(qe=!1,document.exitFullscreen()):document.webkitExitFullscreen?(qe=!1,document.webkitExitFullscreen()):document.mozExitFullscreen?(qe=!1,document.mozExitFullscreen()):document.msExitFullscreen&&(qe=!1,document.msExitFullscreen()),void t.button("fullscreenButton:name").text(' '+I);var i;(i=r).requestFullscreen?(qe=!0,i.requestFullscreen()):i.webkitRequestFullscreen?(qe=!0,i.webkitRequestFullscreen()):i.mozRequestFullScreen?(qe=!0,i.mozRequestFullScreen()):i.msRequestFullscreen&&(qe=!0,i.msRequestFullscreen()),qe&&t.button("fullscreenButton:name").text(' '+L)}}),Ne?(e.push({name:"saveButton",text:' '+$e,className:"pd-datatable-btn btn-success pd-datatable-save-btn",enabled:!1,action:function(e,t,a,n){!function(){let e={resource_id:c,method:je.length>0?"update":"insert",dry_run:!0,records:[]},t=$('meta[name="csrf_field_name"]').attr("content"),a=$('meta[name="'+t+'"]').attr("content");e[t]=a;let n=$("#dtprv_wrapper"),r=$(n).find("#dtprv-body-main");for(let[t,a]of Object.entries(Ie))if(a.length>0){let n={},i=$(r).find("tr").eq(t);for(let e=0;e