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

com.jwebmp.plugins.datatable.options.DataTablesDomOptions Maven / Gradle / Ivy

There is a newer version: 1.2.2.1-jre17
Show newest version
package com.jwebmp.plugins.datatable.options;

import java.util.ArrayList;
import java.util.List;

import static com.jwebmp.plugins.datatable.options.DataTablesDomDivisionOptions.*;

/**
 * The default sections for the data tables
 */
public enum DataTablesDomOptions
		implements IDataTableDomOptionType
{
	LengthChangeControl('l'),
	FilteringIinputControl('f'),
	DataTable('t'),
	InformationSummary('i'),
	PaginationControl('p'),
	ProcessingDisplayElement('r'),
	Buttons('B'),

	Spacer(' '),

	StartDiv('<'),
	EndDiv('>'),

	;

	private char identifier;

	DataTablesDomOptions(char identifier)
	{
		this.identifier = identifier;
	}

	public static List getDefault()
	{
		List options = new ArrayList<>();
		options.add(StartDiv);
		options.add(TopSection);
		options.add(LengthChangeControl);
		options.add(FilteringIinputControl);

		options.add(EndDiv);

		options.add(StartDiv);
		options.add(ClearSection);
		options.add(EndDiv);

		options.add(ProcessingDisplayElement);
		options.add(DataTable);

		options.add(StartDiv);
		options.add(BottomSection);
		options.add(InformationSummary);
		options.add(PaginationControl);

		options.add(EndDiv);

		return options;
	}

	@SuppressWarnings("Duplicates")
	public static List getDefaultTopAndBottom()
	{
		List options = new ArrayList<>();
		options.add(StartDiv);
		options.add(TopSection);
		options.add(FilteringIinputControl);
		options.add(LengthChangeControl);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(TopRowSectionJustified);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(ClearSection);
		options.add(EndDiv);

		options.add(ProcessingDisplayElement);
		options.add(DataTable);

		options.add(StartDiv);
		options.add(BottomSection);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		return options;
	}

	@SuppressWarnings("Duplicates")
	public static List getDefaultTopAndBottomBS()
	{
		List options = new ArrayList<>();
		options.add(StartDiv);
		options.add(TopRowSection);
		options.add(FilteringIinputControl);
		options.add(LengthChangeControl);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(TopRowSection);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(ClearSection);
		options.add(EndDiv);

		options.add(ProcessingDisplayElement);
		options.add(DataTable);

		options.add(StartDiv);
		options.add(BottomRowSection);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		return options;
	}

	@SuppressWarnings("Duplicates")
	public static List getDefaultTopAndBottomBSJustified()
	{
		List options = new ArrayList<>();
		options.add(StartDiv);
		options.add(TopRowSectionJustified);
		options.add(FilteringIinputControl);
		options.add(LengthChangeControl);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(TopRowSectionJustified);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		options.add(StartDiv);
		options.add(ClearSection);
		options.add(EndDiv);

		options.add(ProcessingDisplayElement);
		options.add(DataTable);

		options.add(StartDiv);
		options.add(BottomRowJustifiedSection);
		options.add(PaginationControl);
		options.add(InformationSummary);
		options.add(EndDiv);

		return options;
	}

	public List fromString(String input)
	{
		List returnable = new ArrayList<>();
		char[] chars = input.toCharArray();
		for (char aChar : chars)
		{
			for (DataTablesDomOptions dataTablesDomOptions : DataTablesDomOptions.values())
			{
				if (dataTablesDomOptions.identifier == aChar)
				{
					returnable.add(dataTablesDomOptions);
				}
			}
		}
		return returnable;
	}

	@Override
	public String toString()
	{
		return Character.toString(identifier);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy