forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import Combine from "../../Base/Combine"
 | 
						|
import Title from "../../Base/Title"
 | 
						|
import Table from "../../Base/Table"
 | 
						|
import { Validator } from "../Validator"
 | 
						|
 | 
						|
export default class OpeningHoursValidator extends Validator {
 | 
						|
    constructor() {
 | 
						|
        super(
 | 
						|
            "opening_hours",
 | 
						|
            new Combine([
 | 
						|
                "Has extra elements to easily input when a POI is opened.",
 | 
						|
                new Title("Helper arguments"),
 | 
						|
                new Table(
 | 
						|
                    ["name", "doc"],
 | 
						|
                    [
 | 
						|
                        [
 | 
						|
                            "options",
 | 
						|
                            new Combine([
 | 
						|
                                "A JSON-object of type `{ prefix: string, postfix: string }`. ",
 | 
						|
                                new Table(
 | 
						|
                                    ["subarg", "doc"],
 | 
						|
                                    [
 | 
						|
                                        [
 | 
						|
                                            "prefix",
 | 
						|
                                            "Piece of text that will always be added to the front of the generated opening hours. If the OSM-data does not start with this, it will fail to parse.",
 | 
						|
                                        ],
 | 
						|
                                        [
 | 
						|
                                            "postfix",
 | 
						|
                                            "Piece of text that will always be added to the end of the generated opening hours",
 | 
						|
                                        ],
 | 
						|
                                    ]
 | 
						|
                                ),
 | 
						|
                            ]),
 | 
						|
                        ],
 | 
						|
                    ]
 | 
						|
                ),
 | 
						|
                new Title("Example usage"),
 | 
						|
                "To add a conditional (based on time) access restriction:\n\n```\n" +
 | 
						|
                    `
 | 
						|
"freeform": {
 | 
						|
    "key": "access:conditional",
 | 
						|
    "type": "opening_hours",
 | 
						|
    "helperArgs": [
 | 
						|
        {
 | 
						|
          "prefix":"no @ (",
 | 
						|
          "postfix":")"
 | 
						|
        }
 | 
						|
    ]
 | 
						|
}` +
 | 
						|
                    "\n```\n\n*Don't forget to pass the prefix and postfix in the rendering as well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )`",
 | 
						|
            ])
 | 
						|
        )
 | 
						|
    }
 | 
						|
}
 |