SenangStart.start()
Start the SenangStart framework. This method is called automatically when the script loads, but can be called manually if needed.
Syntax
javascript
SenangStart.start()Returns
SenangStart - Returns the SenangStart object for method chaining.
Auto-Start Behavior
When you include the SenangStart script, it automatically:
- Waits for DOM to be ready (
DOMContentLoaded) - Calls
init(document.body)to process allss-*attributes - Sets up a MutationObserver to watch for dynamic content
html
<!-- SenangStart auto-starts when this loads -->
<script src="https://unpkg.com/@bookklik/senangstart-actions"></script>When to Call Manually
You typically don't need to call start() yourself. However, you might use it if:
Deferred Loading
javascript
// Load SenangStart as a module without auto-start
import SenangStart from '@bookklik/senangstart-actions/core'
// Register components first
SenangStart.data('myComponent', () => ({ ... }))
SenangStart.store('myStore', { ... })
// Then start manually
SenangStart.start()Testing
javascript
// In test setup
beforeEach(() => {
document.body.innerHTML = `
<div ss-data="{ count: 0 }">
<span id="count" ss-text="count"></span>
</div>
`
SenangStart.start()
})What start() Does
Checks document ready state
- If loading, waits for
DOMContentLoaded - If already ready, proceeds immediately
- If loading, waits for
Initializes the DOM
- Calls
init(document.body) - Processes all
ss-*attributes
- Calls
Sets up observer
- Watches for dynamically added content
- Auto-initializes new elements with
ss-*attributes
Method Chaining
javascript
SenangStart
.data('counter', () => ({ count: 0 }))
.store('app', { name: 'MyApp' })
.start()Live Example
html
<!DOCTYPE html>
<html>
<head>
<title>SenangStart.start() Example</title>
</head>
<body>
<div ss-data="{ message: 'Hello!' }">
<p ss-text="message"></p>
</div>
<script>
// Define components before loading the framework
window.SenangStartConfig = {
components: {
greeting: () => ({ name: 'World' })
}
}
</script>
<!-- Framework auto-starts on load -->
<script src="https://unpkg.com/@bookklik/senangstart-actions"></script>
</body>
</html>