All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.webui.jsf.suntheme.javascript.scheduler.js Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

//dojo.provide("webui.suntheme.scheduler");

//dojo.require("webui.suntheme.formElements");
define(["webui/suntheme/formElements"], function(formElements) {

/** 
 * Define webui.suntheme.scheduler name space. 
 */ 
    return {
    /**
     * This function is used to initialize HTML element properties with the
     * following Object literals.
     *
     * 
    *
  • id
  • *
  • datePickerId
  • *
  • dateFieldId
  • *
  • dateClass
  • *
  • selectedClass
  • *
  • edgeClass
  • *
  • edgeSelectedClass
  • *
  • todayClass
  • *
  • dateFormat
  • *
* * Note: This is considered a private API, do not use. * * @param props Key-Value pairs of properties. */ init: function(props) { if (props == null || props.id == null) { return false; } var domNode = document.getElementById(props.id); if (domNode == null) { return false; } // Set given properties on domNode. Object.extend(domNode, props); domNode.dateLinkId = props.datePickerId + ":dateLink"; // Set functions. domNode.setSelected = this.setSelected; domNode.setDateValue = this.setDateValue; domNode.isToday = this.isToday; }, setDateValue: function(value, link) { thisfield.setValue(this.dateFieldId, value); this.setSelected(link); }, setSelected: function(link) { if (link == null) { return; } var dateLink; var linkNum = 0; // Remove any prior highlight while (linkNum < 42) { dateLink = document.getElementById(this.dateLinkId + linkNum); if (dateLink == null) { break; } if (dateLink.className == this.edgeSelectedClass) { dateLink.className = this.edgeClass; } else if (dateLink.className == this.selectedClass) { if (this.isToday(dateLink.title)) { dateLink.className = this.todayClass; } else { dateLink.className = this.dateClass; } } linkNum++; } // apply the selected style to highlight the selected link if (link.className == this.dateClass || link.className == this.todayClass) { link.className = this.selectedClass; } else if (link.className = this.edgeClass) { link.className = this.edgeSelectedClass; } this.currentSelection = link; }, // Find out if date is today's date isToday: function(date) { var todaysDate = new Date(); var pattern = new String(this.dateFormat); var yearIndex = pattern.indexOf("yyyy"); var monthIndex = pattern.indexOf("MM"); var dayIndex = pattern.indexOf("dd"); var currYear = todaysDate.getFullYear(); var currMonth = todaysDate.getMonth() + 1; var currDay = todaysDate.getDate(); if (currYear == parseInt(date.substr(yearIndex, 4)) && currMonth == parseInt(date.substr(monthIndex, 2)) && currDay == parseInt(date.substr(dayIndex, 2))) { return true; } return false; } } }); //-->




© 2015 - 2024 Weber Informatics LLC | Privacy Policy