PHPackages                             hypejunction/hypeprototyperui - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hypejunction/hypeprototyperui

ActiveElgg-plugin[Utility &amp; Helpers](/categories/utility)

hypejunction/hypeprototyperui
=============================

Entity prototyping

4.5.0(10y ago)0179GPL-2.0PHP

Since Aug 11Pushed 10y ago2 watchersCompare

[ Source](https://github.com/hypeJunction/hypePrototyperUI)[ Packagist](https://packagist.org/packages/hypejunction/hypeprototyperui)[ Docs](http://hypejunction.com)[ RSS](/packages/hypejunction-hypeprototyperui/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (8)Used By (0)

hypePrototyperUI
================

[](#hypeprototyperui)

[![Elgg 1.8](https://camo.githubusercontent.com/4914a68d388f89bac18645b61ba7596eada08b5c31d87d1af2bb3b75947e1910/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e382e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/4914a68d388f89bac18645b61ba7596eada08b5c31d87d1af2bb3b75947e1910/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e382e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)[![Elgg 1.9](https://camo.githubusercontent.com/0bb57b98fde6542766db05c22aabd1026fee26304826f775c9ee4de4d9e161e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e392e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/0bb57b98fde6542766db05c22aabd1026fee26304826f775c9ee4de4d9e161e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e392e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)[![Elgg 1.10](https://camo.githubusercontent.com/eb8e2e027d129149978ce1fe364a82ad4124b6746dbc458e6cb086c8c38f9343/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e31302e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/eb8e2e027d129149978ce1fe364a82ad4124b6746dbc458e6cb086c8c38f9343/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e31302e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)[![Elgg 1.11](https://camo.githubusercontent.com/eb70bd54ec09a4dbe53815a1d2040f2515089becfb1cc1c57edaaf114accd4fe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e31312e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/eb70bd54ec09a4dbe53815a1d2040f2515089becfb1cc1c57edaaf114accd4fe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f456c67672d312e31312e782d6f72616e67652e7376673f7374796c653d666c61742d737175617265)

User Interface for hypePrototyper

Introduction
------------

[](#introduction)

The plugin allows developers to present a visual UI for construction forms. This can be useful, when working with volatile entity types that will require admin/user modifications over time.

[![alt text](https://camo.githubusercontent.com/b5cabb1289b285c252e71456429cffa45f123cd4b62fd89729741ee2b96dc9e8/68747470733a2f2f7261772e6769746875622e636f6d2f687970654a756e6374696f6e2f6879706550726f746f747970657255492f6d61737465722f73637265656e73686f74732f70726f746f74797065722d75692e706e67 "User Interface")](https://camo.githubusercontent.com/b5cabb1289b285c252e71456429cffa45f123cd4b62fd89729741ee2b96dc9e8/68747470733a2f2f7261772e6769746875622e636f6d2f687970654a756e6374696f6e2f6879706550726f746f747970657255492f6d61737465722f73637265656e73686f74732f70726f746f74797065722d75692e706e67)[![alt text](https://camo.githubusercontent.com/a33a571187c18cf6601b63ba17894e7fad1ec349e61b97efbd388304bbea4269/68747470733a2f2f7261772e6769746875622e636f6d2f687970654a756e6374696f6e2f6879706550726f746f747970657255492f6d61737465722f73637265656e73686f74732f70726f746f74797065722d666f726d2e706e67 "Resulting Form")](https://camo.githubusercontent.com/a33a571187c18cf6601b63ba17894e7fad1ec349e61b97efbd388304bbea4269/68747470733a2f2f7261772e6769746875622e636f6d2f687970654a756e6374696f6e2f6879706550726f746f747970657255492f6d61737465722f73637265656e73686f74732f70726f746f74797065722d666f726d2e706e67)

Requirements
------------

[](#requirements)

Even though this plugins runs on 1.8, your theme will need to support jQuery 1.7+.

How to Use
----------

[](#how-to-use)

### Display the UI

[](#display-the-ui)

Let's assume you have an action to create/edit new books, e.g. `books/save`. You may want to differentiate what forms to display, based on what library this book is available in.

Register an action that will take care of storing the form config, e.g. `books/prototype/save`.

```
echo elgg_view_form('prototyper/edit', array(
	'action' => 'books/prototype/save',
), array(
	'action' => 'books/save',
	'attributes' => array(
		'type' => 'object',
		'subtype' => 'book',
		'access_id' => ACCESS_PUBLIC,
		'container_guid' => $library_guid,
	),
	'params' => array(
		'layout' => array('main', 'sidebar', 'footer'),
	),
));
```

### Save config

[](#save-config)

Perhaps the easiest is to store the config as metadata on a library. You can also use plugin settings, annotations or any method that will allow you to retrieve the config to feed into the plugin hook.

In `books/prototype/save`, save your config:

```
use hypeJunction\Prototyper\UI\Template;

$container_guid = get_input('container_guid');
$library = get_entity($container_guid);

$prototype = hypePrototyper()->ui->buildPrototypeFromInput();

$library->book_prototype = json_encode($prototype);
```

### Hook into the prototype

[](#hook-into-the-prototype)

```
elgg_register_plugin_hook_handler('prototype', 'books/save', 'book_form');

function book_form($hook, $type, $return, $params) {

	$book = elgg_extract('entity', $params);
	if (elgg_instanceof($book, 'object', 'book')) {
		$library = $entity->getContainerEntity();
		if ($library->book_prototype) {
			return json_decode($library->book_prototype, true);
		}
	}

	return $return;
}
```

### Display the form

[](#display-the-form)

```
$book = elgg_extract('entity', $vars);
$library = elgg_extract('container', $vars);

$attributes = array(
	'guid' => $book->guid,
	'type' => 'object',
	'subtype' => 'book',
	'container_guid' => $library->guid,
);

$body = hypePrototyper()->form->with($attributes, 'books/save')->viewBody();
$body .= elgg_view('input/submit', array(
	'value' => elgg_echo('save')
));

echo elgg_view('input/form', array(
	'action' => 'action/books/save',
	'body' => $body
));
```

### Handle the form

[](#handle-the-form)

Now in your action file, all you need to do is use:

```
$guid = get_input('guid');

$attributes = array(
	'guid' => $guid,
	'type' => 'object',
	'subtype' => 'book',
	'container_guid' => get_input('container_guid'),
);

hypePrototyper()->action->with($attributes, 'books/save')->handle();
```

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

6

Last Release

3903d ago

Major Versions

4.5.0 → 5.x-dev2015-09-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/5071b1cd852e094b3f564962a625e04c227adc73af30c5b46b243ab8f20154a7?d=identicon)[hypeJunction](/maintainers/hypeJunction)

---

Top Contributors

[![hypeJunction](https://avatars.githubusercontent.com/u/1202761?v=4)](https://github.com/hypeJunction "hypeJunction (16 commits)")

---

Tags

pluginelggFormsprototypes

### Embed Badge

![Health badge](/badges/hypejunction-hypeprototyperui/health.svg)

```
[![Health](https://phpackages.com/badges/hypejunction-hypeprototyperui/health.svg)](https://phpackages.com/packages/hypejunction-hypeprototyperui)
```

###  Alternatives

[coldtrick/profile_manager

Improved management of user and group profile fields

293.7k1](/packages/coldtrick-profile-manager)[coldtrick/widget_manager

Manage your widgets

214.3k](/packages/coldtrick-widget-manager)[coldtrick/thewire_tools

Extend the functionality of The Wire

133.2k](/packages/coldtrick-thewire-tools)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
