<?xml version="1.0" encoding="utf-8"?>
<Application>
	<AppTitle>Untitled Application</AppTitle>
	<AppShortName>MyApp</AppShortName>
	<Author>Author name</Author>
	<Version>1.0</Version>
	<VariablesScanned>False</VariablesScanned>
	<PageWidth>1100</PageWidth>
	<PageHeight>750</PageHeight>
	<AutoSizeWidth>False</AutoSizeWidth>
	<AutoSizeHeight>False</AutoSizeHeight>
	<HideScrollbars>False</HideScrollbars>
	<ResponsiveSize>False</ResponsiveSize>
	<PublishPlatform>WebApp</PublishPlatform>
	<EmptyBuildFolder>False</EmptyBuildFolder>
	<AppIcon>C:\Users\sinli\OneDrive\Documentos\VisualNeoWeb\Libraries\img\default-icon.png</AppIcon>
	<LanguageCode>en</LanguageCode>
	<DisplayMode>standalone</DisplayMode>
	<ServiceWorker>Offline page</ServiceWorker>
	<ThemeColor>#000000</ThemeColor>
	<PwaScope>/</PwaScope>
	<MobileOSTypes>[AndroidOS,iOS,WindowsPhoneOS]</MobileOSTypes>
	<WindowState>normal</WindowState>
	<TitleBar>True</TitleBar>
	<Sizeable>True</Sizeable>
	<MaximizeBtn>False</MaximizeBtn>
	<MinimizeBtn>True</MinimizeBtn>
	<SystemMenu>True</SystemMenu>
	<ContextMenu>False</ContextMenu>
	<AlwaysOnTop>False</AlwaysOnTop>
	<ShowInTaskbar>True</ShowInTaskbar>
	<SingleInstance>False</SingleInstance>
	<ChromeKioskMode>False</ChromeKioskMode>
	<Components>
		<FunctionList name="Subroutines">
			<Components>
				<Function name="onSheetEvent">
					<Code>SetVar [resp] [eventObj]
If [resp.event] == &quot;onchange&quot;
  ConsoleLog &quot;Cell changed: [resp.c], [resp.d] New value: [resp.f]&quot;
EndIf</Code>
					<Params>[eventObj]|OBJECT|</Params>
				</Function>
			</Components>
		</FunctionList>
		<LibraryList name="Libraries"/>
		<PageList name="Main">
			<Components>
				<Page id="NewPage">
					<Components>
						<Headline id="Headline1">
							<left>30px</left>
							<top>20px</top>
							<width>470px</width>
							<height>50px</height>
							<text>neoSheet Sample App</text>
						</Headline>
						<Paragraph id="Paragraph1">
							<left>25px</left>
							<top>75px</top>
							<width>1045px</width>
							<height>75px</height>
							<text>&lt;strong&gt;neoSheet is a powerful plugin for VisualNEO Web&lt;/strong&gt; that lets you add interactive spreadsheet tables to your apps, similar to Excel or Google Sheets. It’s based on the open-source Jspreadsheet CE library and supports features like multiple sheets, live editing, row/column management, formulas, import/export, and event handling.&lt;br&gt;With neoSheet, you can easily create editable data tables, connect them to your app logic, and trigger actions when users make changes, all without writing complex code. Perfect for inventory managers, forms with calculations, or any app that needs structured data input.</text>
						</Paragraph>
						<PushButton id="PushButton1">
							<left>25px</left>
							<top>175px</top>
							<width>110px</width>
							<height>40px</height>
							<caption>1. Initialize</caption>
							<click>neoSheetAddDataRow [data] &quot;Crayons (Crayola)|2|5.00|=B1*C1&quot;
neoSheetAddDataRow [data] &quot;Colored Pencils|3|4.50|=B2*C2&quot;
neoSheetAddDataRow [data] &quot;Markers|4|3.00|=B3*C3&quot;
neoSheetAddDataRow [data] &quot;Index Cards|10|1.20|=B4*C4&quot;
neoSheetAddDataRow [data] &quot;TOTAL|=SUM(B1:B4)||=SUM(D1:D4)&quot;

neoSheetDefineColumn [columns] &quot;Product&quot; &quot;text&quot; &quot;250&quot; &quot;&quot; &quot;&quot;
neoSheetDefineColumn [columns] &quot;Qty&quot; &quot;numeric&quot; &quot;80&quot; &quot;0&quot; &quot;&quot;
neoSheetDefineColumn [columns] &quot;Price&quot; &quot;numeric&quot; &quot;100&quot; &quot;$ #.##0,00&quot; &quot;&quot;
neoSheetDefineColumn [columns] &quot;Total&quot; &quot;numeric&quot; &quot;120&quot; &quot;$ #.##0,00&quot; &quot;&quot;

neoSheetDestroy &quot;Container1&quot;
. Use the new simplified init or full init
neoSheetInit &quot;Container1&quot; 4 10 true true true 0 [data] [columns] true true true true true true true true true &quot;&quot;
neoSheetSetCellStyle &quot;Container1&quot; 0 &quot;A5&quot; &quot;font-weight:bold;background-color:#f0f0f0&quot;
neoSheetSetCellStyle &quot;Container1&quot; 0 &quot;D5&quot; &quot;font-weight:bold;background-color:#e0f0e0&quot;</click>
						</PushButton>
						<PushButton id="PushButton2">
							<left>145px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Save Data</caption>
							<click>neoSheetGetConfig &quot;Container1&quot; [config]
StringifyJSON [config] [json]
VarToLocalFile [json] &quot;neoSheet_data.json&quot;</click>
						</PushButton>
						<FileInput id="FileInput1">
							<left>255px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<style>background-color:#e8e8e8;border:1px solid #999</style>
							<prop_name>file</prop_name>
							<change>LocalFileToVar &quot;FileInput1&quot; [json]
Wait 200
  ParseJSON &quot;[json]&quot; [config]
  neoSheetSetConfig &quot;Container1&quot; [config]
EndWait</change>
							<caption>Load Data</caption>
							<accept>.json</accept>
						</FileInput>
						<PushButton id="PushButton3">
							<left>365px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Read Only</caption>
							<click>neoSheetSetRangeReadOnly &quot;Container1&quot; 0 &quot;A1:D10&quot; true</click>
						</PushButton>
						<PushButton id="PushButton4">
							<left>475px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Set Style</caption>
							<click>neoSheetSetCellStyle &quot;Container1&quot; 0 &quot;A1&quot; &quot;color:white;background-color:blue;font-weight:bold&quot;</click>
						</PushButton>
						<PushButton id="PushButton5">
							<left>585px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Insert Row</caption>
							<click>neoSheetInsertRow &quot;Container1&quot; 0 1 1 true</click>
						</PushButton>
						<PushButton id="PushButton6">
							<left>695px</left>
							<top>175px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Delete Row</caption>
							<click>neoSheetDeleteRow &quot;Container1&quot; 0 0 1</click>
						</PushButton>
						<PushButton id="PushButton7">
							<left>25px</left>
							<top>225px</top>
							<width>110px</width>
							<height>40px</height>
							<caption>Insert Col</caption>
							<click>neoSheetInsertColumn &quot;Container1&quot; 0 1 1 true</click>
						</PushButton>
						<PushButton id="PushButton8">
							<left>145px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Delete Col</caption>
							<click>neoSheetDeleteColumn &quot;Container1&quot; 0 0 1</click>
						</PushButton>
						<PushButton id="PushButton9">
							<left>255px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Get Value</caption>
							<click>neoSheetGetCellValue &quot;Container1&quot; 0 &quot;A1&quot; false [val]
jsAlert &quot;Value in A1: [val]&quot;</click>
						</PushButton>
						<PushButton id="PushButton10">
							<left>365px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Hide Index</caption>
							<click>neoSheetHideIndex &quot;Container1&quot; 0</click>
						</PushButton>
						<PushButton id="PushButton11">
							<left>475px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Show Index</caption>
							<click>neoSheetShowIndex &quot;Container1&quot; 0</click>
						</PushButton>
						<PushButton id="PushButton12">
							<left>585px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Clear</caption>
							<click>neoSheetClear &quot;Container1&quot; 0</click>
						</PushButton>
						<PushButton id="PushButton13">
							<left>695px</left>
							<top>225px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Download</caption>
							<click>neoSheetDownload &quot;Container1&quot; 0</click>
						</PushButton>
						<PushButton id="PushButton14">
							<left>25px</left>
							<top>275px</top>
							<width>110px</width>
							<height>40px</height>
							<caption>Search &quot;Crayons&quot;</caption>
							<click>neoSheetSearch &quot;Container1&quot; 0 &quot;Crayons&quot;</click>
						</PushButton>
						<PushButton id="PushButton15">
							<left>145px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Select A1:B2</caption>
							<click>neoSheetSelectRange &quot;Container1&quot; 0 &quot;A1:B2&quot;</click>
						</PushButton>
						<PushButton id="PushButton16">
							<left>255px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Get Selection</caption>
							<click>neoSheetGetSelection &quot;Container1&quot; 0 [sel]
jsAlert &quot;Selected Range: [sel]&quot;</click>
						</PushButton>
						<PushButton id="PushButton17">
							<left>365px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Hide Col 1</caption>
							<click>neoSheetHideColumn &quot;Container1&quot; 0 0</click>
						</PushButton>
						<PushButton id="PushButton18">
							<left>475px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Show Col 1</caption>
							<click>neoSheetShowColumn &quot;Container1&quot; 0 0</click>
						</PushButton>
						<PushButton id="PushButton19">
							<left>585px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Hide Row 1</caption>
							<click>neoSheetHideRow &quot;Container1&quot; 0 0</click>
						</PushButton>
						<PushButton id="PushButton20">
							<left>695px</left>
							<top>275px</top>
							<width>100px</width>
							<height>40px</height>
							<caption>Show Row 1</caption>
							<click>neoSheetShowRow &quot;Container1&quot; 0 0</click>
						</PushButton>
						<PushButton id="PushButton21">
							<left>25px</left>
							<top>325px</top>
							<width>150px</width>
							<height>40px</height>
							<caption>Add Named Sheet</caption>
							<click>. Create a new worksheet with a custom name
neoSheetCreateWorksheet &quot;Container1&quot; 4 10 &quot;&quot; &quot;&quot; &quot;&quot; &quot;My Data&quot;</click>
						</PushButton>
						<PushButton id="PushButton22">
							<left>185px</left>
							<top>325px</top>
							<width>150px</width>
							<height>40px</height>
							<caption>Rename Sheet 1</caption>
							<click>. Rename the first worksheet tab
neoSheetRenameWorksheet &quot;Container1&quot; 0 &quot;Products&quot;</click>
						</PushButton>
						<Container id="Container1">
							<left>25px</left>
							<top>385px</top>
							<width>1050px</width>
							<height>385px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;overflow-y:auto;box-shadow: 0 4px 6px rgba(0,0,0,0.1)</style>
						</Container>
					</Components>
				</Page>
			</Components>
		</PageList>
		<PageList name="Master">
			<Components>
				<Page id="MasterPage"/>
			</Components>
		</PageList>
		<PageList name="Dialog">
			<Components>
				<Page id="NewDialog">
					<Components>
						<DialogContainer id="DialogContainer1">
							<left>0px</left>
							<top>0px</top>
							<width>768px</width>
							<height>1024px</height>
							<close_button>False</close_button>
							<kind>custom</kind>
						</DialogContainer>
					</Components>
				</Page>
			</Components>
		</PageList>
	</Components>
</Application>
