You get to cache data, make the best of it.
NanoUI for PDA now won't shove the manifest through list2json every tick, it will cache the json for manifest and shove it into the cache_data so list2json tacks it onto the end.
* Simplified how items are positioned on the map (e.g. ((value.x - 1) * 8) is now just value.x, scaling is applied later).
* Added four zoom levels (x1.0 to x2.5, triggered by links in the template).
* Moved the "Generate NanoUI Map" into the Server tab, to prevent it being used by admins accidentally.
The layout HTML (which was mainly used for the title bar) is no longer hard coded in nanoui.dm.
Layouts are now dynamic and each consists of a template and stylesheet (CSS) file.
Multiple layouts can exist, they can be switched to using the set_layout_key proc. See the proc comments for more info.
Added "default" and "basic" layouts, "basic" has no title bar.
Moved image source assets (GIMP and Flash files) into a separate source folder so that they are not sent to the client.
The flist (file list) proc was being used multiple times for each client user logon, this now only occurs once when the server starts.
Hopefully this fixes the nanoui assets issue which occurs during peak usage.
* NanoUI now finds and sends it's assets to the client (css, images, javascript and templates).
Part of my effort to make creating NanoUIs as simple as possible. This removes the need to add new NanoUI assets (such as templates) to the client send_resources proc.
* Moved the receiveUpdateData JavaScript into the head so that it's loaded first.
This is to prevent an error which occurs if an update is recieved from the server before the UI is fully loaded.
* Simplified the code used in ui_interact procs and updated all current uses.
* Removed ununused jsviews JavaScript code (replaced it with vanilla jsrender).
* Added a message to the UI which shows if JavaScript is disabled (people with JavaScript disabled previously got blank UIs).
as you don't need to provide the full data structure up-front, part of an effort to make NanoUI more accessible.
I have removed the carets (^) from all templates as they are not used any more.
For safety I moved the src_object and user checks from the master controller to the nanoui process proc.
An example of where the update_user_uis proc will be used is in updating any open PDA UIs for users when sending or receiving messages.
Added a link to the new NanoUI wiki page in the TemplatesGuide.txt file.
* Transfer open ui instances when transferring a user to another mob
* Runtime fixes in the NanoUI Topic and nanoclose client verb
* Return focus to the map when a NanoUI is opened
Creates NanoUI for the PDA and Syndicate Uplink.
New features:
Crew manifest now sorted with department heads at the top.
Can select individual conversations and delete individual conversations among PDA's
Powernet Monitor much more simple now and easier to read.
Janitorial supplies locator now includes Janicart.
Items will actually refresh if you click "Refresh"
Some other changes:
Captain's PDA cartridge now has all access (added janitor access and quartermaster access)
With the conversation change I had to change how tnote (the variable that holds PDA messages works.
Setup the message server to use the new methods.
Removed procs that will no longer be used (UI generation procs from old UI methods)
Commented everything the best I can.
Created HORRIBLE, TERRIBLE lists. But it's pretty much required because that's how nanoUI rolls.
Created a variable on the uplink called NanoUI items, this list is created upon creation of the
uplink.
I included the functionality for Mimes and Clowns for our downstream servers that have those.
Updated the Chem Dispenser UI with an Energy bar.
UIs attached to the Chem Dispenser will now update on recharge(), recharge now recharges 1 every 15 ticks instead of 2 every 30 (to make it feel more fluid).
* Visibility updates (now uses line of sight).
* Added displayBar() template helper for displaying progress/health bars.
* Added new health bars to Nano UI Cryo.
* Added Eject Occupant to Nano UI Cryo.
* Nano now handles Topic for the src_object, allowing it to only allow interactions with UIs that have a "STATUS_INTERACTIVE" status/visibility.
Removed user << browse_rsc() entries as they caused the delay. New assets (stylesheets, scripts, templates and images) have to be added to the client's send_resources proc or they will not exist on the client.
------------------------------------------------------------
nanoui - For creating and updating browser UIs
manomanager - For managing nanouis
Includes the "D:\Development\SS13-TG\code\game\machinery\cryo.dm" rebuilt using Nano.
Templates are stored in /nano/templates
This code is in development, it's also not commented yet.