<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.springframework.data</groupId>
		<artifactId>spring-data-rest-parent</artifactId>
		<version>3.1.22.BUILD-SNAPSHOT</version>
	</parent>

	<artifactId>spring-data-rest-hal-browser</artifactId>

	<name>Spring Data REST - HAL Browser</name>

	<properties>
		<browser.version>ad9b865</browser.version>
		<json-editor.version>0.7.21</json-editor.version>
		<java-module-name>spring.data.rest.hal.browser</java-module-name>
		<project.root>${basedir}/..</project.root>
	</properties>

	<dependencies>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>spring-data-rest-webmvc</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>hal-browser</artifactId>
			<version>${browser.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>json-editor</artifactId>
			<version>${json-editor.version}</version>
			<scope>provided</scope>
		</dependency>

	</dependencies>


	<build>
		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>unpack-hal-browser</id>
						<phase>process-resources</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.webjars</groupId>
									<artifactId>hal-browser</artifactId>
								</artifactItem>
							</artifactItems>
							<outputDirectory>${project.build.directory}/hal-browser</outputDirectory>
						</configuration>
					</execution>
					<execution>
						<id>unpack-json-editor</id>
						<phase>process-resources</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.webjars</groupId>
									<artifactId>json-editor</artifactId>
								</artifactItem>
							</artifactItems>
							<outputDirectory>${project.build.directory}/json-editor</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<phase>process-resources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<copy todir="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser">
									<fileset dir="${project.build.directory}/hal-browser/META-INF/resources/webjars/hal-browser/${browser.version}" />
								</copy>
								<copy todir="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/vendor/js">
									<fileset dir="${project.build.directory}/json-editor/META-INF/resources/webjars/json-editor/${json-editor.version}" />
								</copy>
								<copy file="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/browser.html"
									  tofile="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/index.html" />
								<replace file="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/index.html">
									<replacefilter>
										<replacetoken><![CDATA[</body>]]></replacetoken>
										<replacevalue><![CDATA[
	<script id="dynamic-request-template" type="text/template">
		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
			<h3>Create/Update</h3>
		</div>

		<form class="non-safe" action="<%= href %>">
			<div class="modal-body" style="padding-top: 0px">
				<div id="jsoneditor"></div>

				<div class="well well-small" style="padding-bottom: 0px;">
					<div class="container-fluid">
						<div class="row-fluid">
							<div class="control-group">
								<label class="control-label" style="display: inline-block; font-weight: bold;">Action:</label>
								<input name="method" type="text" class="method controls" style="width: 98%" value="POST" />
								<input name="url" type="text" class="url controls" style="width: 98%" value="<%= href %>" />
							</div>
						</div>
					</div>
				</div>
			</div>
			<div class="modal-footer">
				<button type="submit" class="btn btn-primary">Make Request</button>
			</div>
		</form>
	</script>

	<script src="vendor/js/jsoneditor.js"></script>
	<script src="js/CustomPostForm.js"></script>

</body>]]>
										</replacevalue>
									</replacefilter>
								</replace>
								<replace file="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/index.html">
									<replacefilter>
										<replacetoken>The HAL Browser</replacetoken>
										<replacevalue>The HAL Browser (for Spring Data REST)</replacevalue>
									</replacefilter>
								</replace>
								<delete file="${project.build.outputDirectory}/META-INF/spring-data-rest/hal-browser/browser.html" />
							</target>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
