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

com.tcdng.unify.web.ui.widget.writer.control.TimeFieldWriter Maven / Gradle / Ivy

/*
 * Copyright 2018-2023 The Code Department.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.tcdng.unify.web.ui.widget.writer.control;

import java.util.Calendar;
import java.util.Date;

import com.tcdng.unify.core.UnifyException;
import com.tcdng.unify.core.annotation.Component;
import com.tcdng.unify.core.annotation.Writes;
import com.tcdng.unify.core.format.Pattern;
import com.tcdng.unify.web.ui.widget.ResponseWriter;
import com.tcdng.unify.web.ui.widget.control.AbstractPopupTextField;
import com.tcdng.unify.web.ui.widget.control.TimeField;

/**
 * Time field writer.
 * 
 * @author The Code Department
 * @since 1.0
 */
@Writes(TimeField.class)
@Component("timefield-writer")
public class TimeFieldWriter extends AbstractPopupTextFieldWriter {

    @Override
    protected void writePopupContent(ResponseWriter writer, AbstractPopupTextField popupTextField)
            throws UnifyException {
        TimeField timeField = (TimeField) popupTextField;
        StringBuilder hsb = new StringBuilder();
        StringBuilder csb = new StringBuilder();
        StringBuilder fsb = new StringBuilder();
        Pattern[] pattern = timeField.getPattern();
        final String facId = timeField.getFacadeId();
        for (int i = 0; i < pattern.length; i++) {
            Pattern fp = pattern[i];
            if (fp.isFiller()) {
                hsb.append("
").append("
"); csb.append("
").append(fp.getPattern()).append("
"); fsb.append("
").append("
"); } else { char plusBtnSymbol = '+'; char minusBtnSymbol = '-'; hsb.append("
"); csb.append( "
"); csb.append("
"); fsb.append("
"); } } hsb.append("
"); csb.append("
"); fsb.append("
"); writer.write("
") .write(hsb.toString()).write("
").write(csb.toString()) .write("
").write(fsb.toString()).write("
"); } @Override protected void doWritePopupTextFieldBehaviour(ResponseWriter writer, AbstractPopupTextField popupTextField, boolean popupEnabled) throws UnifyException { TimeField timeField = (TimeField) popupTextField; writer.beginFunction("ux.rigTimeField"); writer.writeParam("pId", timeField.getId()); writer.writeParam("pFacId", timeField.getFacadeId()); writer.writeParam("pClearable", timeField.isClearable()); writer.writeParam("pPattern", timeField.getPattern()); writer.writeParam("pLists", timeField.getDateTimeFormat()); Date date = timeField.getValue(Date.class); if (date != null) { Calendar cal = Calendar.getInstance(); cal.setTime(date); writer.writeParam("pHour", cal.get(Calendar.HOUR_OF_DAY)); writer.writeParam("pMinute", cal.get(Calendar.MINUTE)); writer.writeParam("pSecond", cal.get(Calendar.SECOND)); } writer.writeParam("pEnabled", popupEnabled); writer.endFunction(); } @Override protected String getOnShowAction() throws UnifyException { return null; } @Override protected String getOnShowParam(AbstractPopupTextField popupTextField) throws UnifyException { return null; } @Override protected String getOnHideAction() throws UnifyException { return null; } @Override protected String getOnHideParam(AbstractPopupTextField popupTextField) throws UnifyException { return null; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy